[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <55fa8f93-e9ac-df87-eb4e-b5e20360658f@gmx.de>
Date: Wed, 4 May 2022 09:05:03 +0200
From: Armin Wolf <W_Armin@....de>
To: Guenter Roeck <linux@...ck-us.net>,
LABBE Corentin <clabbe@...libre.com>
Cc: jdelvare@...e.com, linux-hwmon@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] hwmon: acpi_power_meter: convert to
hwmon_device_register_with_info
Am 03.05.22 um 01:43 schrieb Guenter Roeck:
> 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@...libre.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
Sounds good.
Armin Wolf
Powered by blists - more mailing lists