Powercap: add p8 support
P8 uses i2c-occ and powercap is not created.
Add P8 support by creating powercap object with i2c device name.
Fixes openbmc/openbmc#2688
Change-Id: Ia63070d63f4392cc4b084ab628cdbdcf4206c883
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/test/TestI2cOcc.cpp b/test/TestI2cOcc.cpp
index c92da5b..bf976d7 100644
--- a/test/TestI2cOcc.cpp
+++ b/test/TestI2cOcc.cpp
@@ -28,6 +28,7 @@
const auto I2C_6_0056 = BASE + STR_6_0056;
const auto I2C_7_0057 = BASE + STR_7_0057;
const auto NAME = "/name";
+const auto OCC_MASTER_NAME = "/occ_master";
const auto P8_OCC_HWMON = "p8-occ-hwmon";
const auto OTHER_STRING = "SomeOtherString123"s;
@@ -69,14 +70,26 @@
ofs << "p8-occ-hwmon\n"; // 4-0050/name is p8-occ-hwmon
ofs.close();
+ ofs.open(I2C_4_0050 + OCC_MASTER_NAME);
+ ofs << "0\n"; // Make 4-0050 the slave occ
+ ofs.close();
+
ofs.open(I2C_5_0051 + NAME);
ofs << "p8-occ-hwmon\n"; // 5-0051/name is p8-occ-hwmon
ofs.close();
+ ofs.open(I2C_5_0051 + OCC_MASTER_NAME);
+ ofs << "0\n"; // Make 5-0051 the slave occ
+ ofs.close();
+
ofs.open(I2C_6_0056 + NAME);
ofs << "p8-occ-hwmon\n"; // 6-0056/name is p8-occ-hwmon
ofs.close();
+ ofs.open(I2C_6_0056 + OCC_MASTER_NAME);
+ ofs << "1\n"; // Make 6-0056 the master occ
+ ofs.close();
+
ofs.open(I2C_7_0057 + NAME);
ofs << "p8-occ-hwmon\n"; // 7-0057/name is p8-occ-hwmon
ofs.close();
@@ -94,9 +107,11 @@
// With test env, it shall find all the 4 p8-occ-hwmon devices
auto ret = getOccHwmonDevices(BASE.c_str());
EXPECT_EQ(4u, ret.size());
- EXPECT_EQ(STR_4_0050, ret[0]);
- EXPECT_EQ(STR_5_0051, ret[1]);
- EXPECT_EQ(STR_6_0056, ret[2]);
+ // The first one shall be master occ
+ EXPECT_EQ(STR_6_0056, ret[0]);
+ // The left is sorted
+ EXPECT_EQ(STR_4_0050, ret[1]);
+ EXPECT_EQ(STR_5_0051, ret[2]);
EXPECT_EQ(STR_7_0057, ret[3]);
}