Add PSU PWM sensor to support FSC
Add PSU PWM sensor to allow FSC control PSU fan pwm.
Tested:
Change property Target to 100 in dbus interface xyz.openbmc_project.Control.FanPwm
path /xyz/openbmc_project/control/fanpwm/Pwm_PSU1_Fan_1, the value in
/sys/class/hwmon/hwmonx/fan1_target also become 100, and value property in interface
/xyz/openbmc_project/sensors/fan_pwm/Pwm_PSU1_Fan_1 become 39.2157
Run ipmitool sensor list, bellow sensors will show like:
Pwm PSU1 Fan 1 | 39.200 | unspecified | ok | na | na | na | na | na | na
Pwm PSU2 Fan 1 | 0.000 | unspecified | ok | na | na | na | na | na | na
Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>
Change-Id: I6a4d50912a190297dbcf4a4e5c511607f71cb0c0
diff --git a/src/FanMain.cpp b/src/FanMain.cpp
index 866fe4f..962a115 100644
--- a/src/FanMain.cpp
+++ b/src/FanMain.cpp
@@ -314,9 +314,12 @@
}
// only add new elements
+ const std::string& sysPath = pwm.string();
+ const std::string& pwmName =
+ "Pwm_" + sysPath.substr(sysPath.find_last_of("pwm") + 1);
pwmSensors.insert(std::pair<std::string, std::unique_ptr<PwmSensor>>(
- pwm.string(),
- std::make_unique<PwmSensor>(pwm.string(), objectServer, *path)));
+ sysPath, std::make_unique<PwmSensor>(pwmName, sysPath, objectServer,
+ *path)));
}
}