Populate device entry based on position

Communicating to OCC from BMC in PassThrough mode involves 2 drivers,
namely;

1) SBE FIFO driver --> Used to communicate with SBE
2) OCC driver --> Which uses FIFO driver to write data to OCC
   at a predefined address and reads it back from a predefined
   OCC address.

Device entry that is of interest here belongs to #2 above.
This will map occ0 to fifo1, occ2 to fifo2 and so on.
Until the udev rules are in place to make sure that a particular
entry always maps to correct device not caring the probing order,
this change here is a best guess that cpu0 and cpu1 would mostly in
all cases be probed in that order.

Change-Id: I485e0ea4eab1b4c6f59ee4b68c0725f9633cd933
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/occ_pass_through.cpp b/occ_pass_through.cpp
index 25f3edf..05864c1 100644
--- a/occ_pass_through.cpp
+++ b/occ_pass_through.cpp
@@ -3,7 +3,6 @@
 #include <phosphor-logging/log.hpp>
 #include "occ_pass_through.hpp"
 #include "occ_finder.hpp"
-
 namespace open_power
 {
 namespace occ
@@ -41,7 +40,7 @@
     Iface(bus, path),
     path(path)
 {
-    // Nothing
+    devicePath.append(std::to_string((this->path.back() - '0') + 1));
 }
 
 std::vector<int32_t> PassThrough::send(std::vector<int32_t> command)
diff --git a/occ_pass_through.hpp b/occ_pass_through.hpp
index 835241f..da8c617 100644
--- a/occ_pass_through.hpp
+++ b/occ_pass_through.hpp
@@ -62,6 +62,15 @@
     private:
         /** @brief Pass-through occ path on the bus */
         std::string path;
+
+        /** @brief OCC device path
+         *  For now, here is the hard-coded mapping until
+         *  the udev rule is in
+         *  occ0 --> /dev/occfifo1
+         *  occ1 --> /dev/occfifo2
+         *  ...
+         */
+        std::string devicePath = "/dev/occfifo";
 };
 
 } // namespace pass_through