[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <32497230-7c83-4db5-0b0e-113558470d10@roeck-us.net>
Date: Thu, 2 Apr 2020 11:29:32 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Michał Mirosław <mirq-linux@...e.qmqm.pl>
Cc: Sebastian Reichel "(maintainer:POWER" SUPPLY CLASS/SUBSYSTEM
and "DRIVERS,blamed_fixes:1/1=100%)"
<sebastian.reichel@...labora.com>,
"Andrey Smirnov (blamed_fixes:1/1=100%)" <andrew.smirnov@...il.com>,
"open list:POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS"
<linux-pm@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 3/7] power: supply: core: fix HWMON temperature labels
On 4/2/20 8:00 AM, Michał Mirosław wrote:
> On Thu, Apr 02, 2020 at 07:52:19AM -0700, Guenter Roeck wrote:
>> 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@...e.qmqm.pl>
>>> ---
>>> 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.
>
> This is carried over from earlier version. No bug though, but I'll add a
> patch while I'm at it.
>
This is incorrect. The previous version does not check the type and always sets *str.
- *str = channel ? "temp" : "temp ambient";
Guenter
Powered by blists - more mailing lists