On 6/21/24 11:08, Guenter Roeck wrote: > On 6/20/24 14:13, Sean Anderson wrote: >> Add labels from IIO channels to our channels. This allows userspace to >> display more meaningful names instead of "in0" or "temp5". >> >> Signed-off-by: Sean Anderson <sean.anderson@xxxxxxxxx> >> --- >> >> drivers/hwmon/iio_hwmon.c | 33 ++++++++++++++++++++++++++++++--- >> 1 file changed, 30 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/hwmon/iio_hwmon.c b/drivers/hwmon/iio_hwmon.c >> index 4c8a80847891..588b64c18e63 100644 >> --- a/drivers/hwmon/iio_hwmon.c >> +++ b/drivers/hwmon/iio_hwmon.c >> @@ -33,6 +33,17 @@ struct iio_hwmon_state { >> struct attribute **attrs; >> }; >> +static ssize_t iio_hwmon_read_label(struct device *dev, >> + struct device_attribute *attr, >> + char *buf) >> +{ >> + struct sensor_device_attribute *sattr = to_sensor_dev_attr(attr); >> + struct iio_hwmon_state *state = dev_get_drvdata(dev); >> + struct iio_channel *chan = &state->channels[sattr->index]; >> + >> + return iio_read_channel_label(chan, buf); > > This can return -EINVAL if there is no label. Since the label attribute > is created unconditionally, every affected system would end up with > lots of error messages when running the "sensors" command. > This is not acceptable. The sensors command gracefully handles this. There are no errors, and the label is unused. --Sean