mbox series

[0/3] hwmon: Introduce and use hwmon_device_register_for_thermal

Message ID 20220511151230.2983227-1-linux@roeck-us.net (mailing list archive)
Headers show
Series hwmon: Introduce and use hwmon_device_register_for_thermal | expand

Message

Guenter Roeck May 11, 2022, 3:12 p.m. UTC
The thermal subsystem registers a hwmon driver without providing
chip information or sysfs group information. This is for legacy reasons
and would be difficult to change.

At the same time, several attempts have been made to convert hwmon
drivers using the deprecated hwmon_device_register() to use
hwmon_device_register_with_info() by just providing NULL parameters.
This is an abuse of the hwmon API. To prevent this abuse, we want to
enforce that a parent device pointer as well as chip information is
provided when registering a hwmon device using
hwmon_device_register_with_info().

To be able to do this, introduce and use a special API for use only by
the thermal subsystem (patches 1 and 2). Patch 3 makes the 'dev' and 'chip'
parameters of hwmon_device_register_with_info() mandatory.

----------------------------------------------------------------
Guenter Roeck (3):
      hwmon: Introduce hwmon_device_register_for_thermal
      thermal/drivers/thermal_hwmon: Use hwmon_device_register_for_thermal()
      hwmon: Make chip parameter for with_info API mandatory

 Documentation/hwmon/hwmon-kernel-api.rst |  2 +-
 drivers/hwmon/hwmon.c                    | 41 ++++++++++++++++++++++++++++++++---------
 drivers/thermal/thermal_hwmon.c          |  6 ++++--
 include/linux/hwmon.h                    |  3 +++
 4 files changed, 40 insertions(+), 12 deletions(-)

Comments

Rafael J. Wysocki May 11, 2022, 6:21 p.m. UTC | #1
On Wed, May 11, 2022 at 5:12 PM Guenter Roeck <linux@roeck-us.net> wrote:
>
> The thermal subsystem registers a hwmon driver without providing
> chip information or sysfs group information. This is for legacy reasons
> and would be difficult to change.
>
> At the same time, several attempts have been made to convert hwmon
> drivers using the deprecated hwmon_device_register() to use
> hwmon_device_register_with_info() by just providing NULL parameters.
> This is an abuse of the hwmon API. To prevent this abuse, we want to
> enforce that a parent device pointer as well as chip information is
> provided when registering a hwmon device using
> hwmon_device_register_with_info().
>
> To be able to do this, introduce and use a special API for use only by
> the thermal subsystem (patches 1 and 2). Patch 3 makes the 'dev' and 'chip'
> parameters of hwmon_device_register_with_info() mandatory.
>
> ----------------------------------------------------------------
> Guenter Roeck (3):
>       hwmon: Introduce hwmon_device_register_for_thermal
>       thermal/drivers/thermal_hwmon: Use hwmon_device_register_for_thermal()
>       hwmon: Make chip parameter for with_info API mandatory
>
>  Documentation/hwmon/hwmon-kernel-api.rst |  2 +-
>  drivers/hwmon/hwmon.c                    | 41 ++++++++++++++++++++++++++++++++---------
>  drivers/thermal/thermal_hwmon.c          |  6 ++++--
>  include/linux/hwmon.h                    |  3 +++
>  4 files changed, 40 insertions(+), 12 deletions(-)

This looks good to me from the thermal perspective, so please feel
free to add my ACKs to the first two patches.

Thanks!
Guenter Roeck May 11, 2022, 7:21 p.m. UTC | #2
On 5/11/22 11:21, Rafael J. Wysocki wrote:
> On Wed, May 11, 2022 at 5:12 PM Guenter Roeck <linux@roeck-us.net> wrote:
>>
>> The thermal subsystem registers a hwmon driver without providing
>> chip information or sysfs group information. This is for legacy reasons
>> and would be difficult to change.
>>
>> At the same time, several attempts have been made to convert hwmon
>> drivers using the deprecated hwmon_device_register() to use
>> hwmon_device_register_with_info() by just providing NULL parameters.
>> This is an abuse of the hwmon API. To prevent this abuse, we want to
>> enforce that a parent device pointer as well as chip information is
>> provided when registering a hwmon device using
>> hwmon_device_register_with_info().
>>
>> To be able to do this, introduce and use a special API for use only by
>> the thermal subsystem (patches 1 and 2). Patch 3 makes the 'dev' and 'chip'
>> parameters of hwmon_device_register_with_info() mandatory.
>>
>> ----------------------------------------------------------------
>> Guenter Roeck (3):
>>        hwmon: Introduce hwmon_device_register_for_thermal
>>        thermal/drivers/thermal_hwmon: Use hwmon_device_register_for_thermal()
>>        hwmon: Make chip parameter for with_info API mandatory
>>
>>   Documentation/hwmon/hwmon-kernel-api.rst |  2 +-
>>   drivers/hwmon/hwmon.c                    | 41 ++++++++++++++++++++++++++++++++---------
>>   drivers/thermal/thermal_hwmon.c          |  6 ++++--
>>   include/linux/hwmon.h                    |  3 +++
>>   4 files changed, 40 insertions(+), 12 deletions(-)
> 
> This looks good to me from the thermal perspective, so please feel
> free to add my ACKs to the first two patches.
> 

Thanks!

Guenter