[PATCH v1 1/4] hwmon: pmbus-core: Add label for fan and temp

Ninad Palsule
2024-12-12T21:50:16Z

Adding label files for fan and temperature sensors in the power supply.
The openbmc application dbus-sensor(psusensor) requires those files to
consfigure those sensors.
Note that prefix for temp label is temp[A..C] used instead of temp[1..3]
as dbus-sensor(psusensor) application calculate index based on last
digit in the name so we do not want to make index double digit after
appending page index.

Signed-off-by: Ninad Palsule <ninad@linux.ibm.com>
---
drivers/hwmon/pmbus/pmbus_core.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
index a7000314e5ad..149b3c5f3a4c 100644
--- a/drivers/hwmon/pmbus/pmbus_core.c
+++ b/drivers/hwmon/pmbus/pmbus_core.c
@@ -2144,6 +2144,7 @@ static const struct pmbus_sensor_attr temp_attributes[] = {
{
.reg = PMBUS_READ_TEMPERATURE_1,
.class = PSC_TEMPERATURE,
+ .label = "tempA",
.paged = true,
.update = true,
.compare = true,
@@ -2156,6 +2157,7 @@ static const struct pmbus_sensor_attr temp_attributes[] = {
}, {
.reg = PMBUS_READ_TEMPERATURE_2,
.class = PSC_TEMPERATURE,
+ .label = "tempB",
.paged = true,
.update = true,
.compare = true,
@@ -2168,6 +2170,7 @@ static const struct pmbus_sensor_attr temp_attributes[] = {
}, {
.reg = PMBUS_READ_TEMPERATURE_3,
.class = PSC_TEMPERATURE,
+ .label = "tempC",
.paged = true,
.update = true,
.compare = true,
@@ -2282,6 +2285,17 @@ static int pmbus_add_fan_attributes(struct i2c_client *client,
PSC_FAN, true, true, true) == NULL)
return -ENOMEM;

+ /*
+ * Add fan label.
+ * Assuming paged attributes while passing page index
+ */
+ ret = pmbus_add_label(data, "fan", index, "fan",
+ page + 1, 0xff);
+ if (ret) {
+ dev_err(data->dev, "Fan label add failed ret=%d\n", ret);
+ return ret;
+ }
+
/* Fan control */
if (pmbus_check_word_register(client, page,
pmbus_fan_command_registers[f])) {
--
2.43.0