lkml.org 
[lkml]   [2022]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 2/2] hwmon: acpi_power_meter: convert to hwmon_device_register_with_info
From
On 5/2/22 14:00, Armin Wolf wrote:
> Am 02.05.22 um 22:42 schrieb Guenter Roeck:
>> On 5/2/22 13:31, Armin Wolf wrote:
>>> Am 02.05.22 um 20:59 schrieb LABBE Corentin:
>>>
>>>> Le Mon, May 02, 2022 at 06:34:44AM -0700, Guenter Roeck a écrit :
>>>>> On 5/2/22 05:42, Corentin Labbe wrote:
>>>>>> Booting lead to a hwmon_device_register() is deprecated. Please
>>>>>> convert the driver to use hwmon_device_register_with_info().
>>>>>> So let's convert the driver to use hwmon_device_register_with_info().
>>>>>>
>>>>>> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
>>>>>> ---
>>>>>>    drivers/hwmon/acpi_power_meter.c | 5 ++++-
>>>>>>    1 file changed, 4 insertions(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/drivers/hwmon/acpi_power_meter.c
>>>>>> b/drivers/hwmon/acpi_power_meter.c
>>>>>> index d2545a1be9fc..98293727f980 100644
>>>>>> --- a/drivers/hwmon/acpi_power_meter.c
>>>>>> +++ b/drivers/hwmon/acpi_power_meter.c
>>>>>> @@ -891,7 +891,10 @@ static int acpi_power_meter_add(struct
>>>>>> acpi_device *device)
>>>>>>        if (res)
>>>>>>            goto exit_free_capability;
>>>>>>
>>>>>> -    resource->hwmon_dev = hwmon_device_register(&device->dev);
>>>>>> +    resource->hwmon_dev =
>>>>>> hwmon_device_register_with_info(&device->dev,
>>>>>> + ACPI_POWER_METER_DEVICE_NAME,
>>>>>> +                                  NULL, NULL,
>>>>>> +                                  NULL);
>>>>> NACK. That isn't a conversion to the new API, it just abuses the fact
>>>>> that the new API has to accept a NULL info pointer for historic
>>>>> reasons.
>>>>>
>>>> Hello
>>>>
>>>> I am sorry, I found a driver doing it, so I believed it was okay.
>>>> Converting seems not to hard but, by using the new API, how can I
>>>> convert power1_model_number/power1_is_battery attribute ?
>>>> There are the remaining attributes I dont find how to convert.
>>>>
>>>> Regards
>>>
>>> Hi,
>>>
>>> for allowing the driver to provide nonstandard attributes,
>>> hwmon_device_register_with_info()
>>> has the argument "extra_groups" which is an pointer to a list of
>>> sysfs attribute groups.
>>> There are some drivers which are using this functionality, maybe you
>>> can use them as an
>>> inspiration.
>>>
>>> Just a question: what is the name of the driver you originally used
>>> as an inspiration?
>>>
>>
>> Originally it was for drivers/thermal/thermal_hwmon.c. Now there is also
>> drivers/platform/mips/cpu_hwmon.c which is clearly an abuse. I may have
>> missed others.
>>
>> Guenter
> Should we notify the maintainers of cpu_hwmon.c about that?
> This could potentially prevent such incidents from happening again.
>

I am more inclined to create a special API for thermal, call it from
the thermal code, and issue a warning with backtrace if anyone else
calls hwmon_device_register_with_info() with NULL info pointer.
And explain all that in detail in the API documentation.

Guenter

\
 
 \ /
  Last update: 2022-05-03 01:50    [W:0.042 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site