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(-)