Re: [PATCH 3/7] power: supply: core: fix HWMON temperature labels

From: Guenter Roeck
Date: Thu Apr 02 2020 - 10:52:24 EST


On 4/2/20 7:46 AM, MichaÅ MirosÅaw wrote:
> tempX_label files are swapped compared to what
> power_supply_hwmon_temp_to_property() uses. Make them match.
> While at it, make room for labeling other channels.
>
> Fixes: e67d4dfc9ff1 ("power: supply: Add HWMON compatibility layer")
> Signed-off-by: MichaÅ MirosÅaw <mirq-linux@xxxxxxxxxxxx>
> ---
> drivers/power/supply/power_supply_hwmon.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/power/supply/power_supply_hwmon.c b/drivers/power/supply/power_supply_hwmon.c
> index 75cf861ba492..83318a21fb52 100644
> --- a/drivers/power/supply/power_supply_hwmon.c
> +++ b/drivers/power/supply/power_supply_hwmon.c
> @@ -43,6 +43,11 @@ static int power_supply_hwmon_curr_to_property(u32 attr)
> }
> }
>
> +static const char *const ps_temp_label[] = {
> + "temp",
> + "ambient temp",
> +};
> +
> static int power_supply_hwmon_temp_to_property(u32 attr, int channel)
> {
> if (channel) {
> @@ -144,7 +149,14 @@ static int power_supply_hwmon_read_string(struct device *dev,
> u32 attr, int channel,
> const char **str)
> {
> - *str = channel ? "temp" : "temp ambient";
> + switch (type) {
> + case hwmon_temp:
> + *str = ps_temp_label[channel];
> + break;
> + default:
> + break;

That returns "no error" without setting *str, which is really asking for trouble.

Guenter

> + }
> +
> return 0;
> }
>
>