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(-)
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(-)
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!
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
© 2016 - 2026 Red Hat, Inc.