thermal/drivers/thermal_hwmon: Use hwmon_device_register_for_thermal()
authorGuenter Roeck <linux@roeck-us.net>
Wed, 11 May 2022 13:36:29 +0000 (06:36 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 22 May 2022 18:32:31 +0000 (11:32 -0700)
The thermal subsystem registers a hwmon device without providing chip
information or sysfs attribute groups. While undesirable, it would be
difficult to change. On the other side, it abuses the
hwmon_device_register_with_info API by not providing that information.
Use new API specifically created for the thermal subsystem instead to
let us enforce the 'chip' parameter for other callers of
hwmon_device_register_with_info().

Acked-by: Rafael J . Wysocki <rafael@kernel.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/thermal/thermal_hwmon.c

index ad03262..09e49ec 100644 (file)
@@ -149,8 +149,8 @@ int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
        INIT_LIST_HEAD(&hwmon->tz_list);
        strlcpy(hwmon->type, tz->type, THERMAL_NAME_LENGTH);
        strreplace(hwmon->type, '-', '_');
-       hwmon->device = hwmon_device_register_with_info(&tz->device, hwmon->type,
-                                                       hwmon, NULL, NULL);
+       hwmon->device = hwmon_device_register_for_thermal(&tz->device,
+                                                         hwmon->type, hwmon);
        if (IS_ERR(hwmon->device)) {
                result = PTR_ERR(hwmon->device);
                goto free_mem;
@@ -277,3 +277,5 @@ int devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
        return ret;
 }
 EXPORT_SYMBOL_GPL(devm_thermal_add_hwmon_sysfs);
+
+MODULE_IMPORT_NS(HWMON_THERMAL);