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

Guenter Roeck
2024-12-12T22:06:13Z

On 12/12/24 13:49, Ninad Palsule wrote:
> 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>

We are not going to fix userspace problems in the kernel.

Guenter

> ---
> 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])) {