ACPI: thermal: Use thermal_zone_device()
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 19 Apr 2023 08:33:40 +0000 (10:33 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 27 Apr 2023 17:20:12 +0000 (19:20 +0200)
In order to get the device associated with the thermal zone, let's use
the wrapper thermal_zone_device() instead of accessing directly the
content of the thermal zone device structure.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
[ rjw: Subject adjustment, removal of trailing white space ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/thermal.c

index 255efa7..3682f18 100644 (file)
@@ -789,6 +789,7 @@ static struct thermal_zone_device_ops acpi_thermal_zone_ops = {
 
 static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
 {
+       struct device *tzdev;
        int trips = 0;
        int result;
        acpi_status status;
@@ -820,12 +821,14 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
        if (IS_ERR(tz->thermal_zone))
                return -ENODEV;
 
+       tzdev = thermal_zone_device(tz->thermal_zone);
+
        result = sysfs_create_link(&tz->device->dev.kobj,
-                                  &tz->thermal_zone->device.kobj, "thermal_zone");
+                                  &tzdev->kobj, "thermal_zone");
        if (result)
                goto unregister_tzd;
 
-       result = sysfs_create_link(&tz->thermal_zone->device.kobj,
+       result = sysfs_create_link(&tzdev->kobj,
                                   &tz->device->dev.kobj, "device");
        if (result)
                goto remove_tz_link;
@@ -849,7 +852,7 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
 acpi_bus_detach:
        acpi_bus_detach_private_data(tz->device->handle);
 remove_dev_link:
-       sysfs_remove_link(&tz->thermal_zone->device.kobj, "device");
+       sysfs_remove_link(&tzdev->kobj, "device");
 remove_tz_link:
        sysfs_remove_link(&tz->device->dev.kobj, "thermal_zone");
 unregister_tzd:
@@ -860,8 +863,10 @@ unregister_tzd:
 
 static void acpi_thermal_unregister_thermal_zone(struct acpi_thermal *tz)
 {
+       struct device *tzdev = thermal_zone_device(tz->thermal_zone);
+
        sysfs_remove_link(&tz->device->dev.kobj, "thermal_zone");
-       sysfs_remove_link(&tz->thermal_zone->device.kobj, "device");
+       sysfs_remove_link(&tzdev->kobj, "device");
        thermal_zone_device_unregister(tz->thermal_zone);
        tz->thermal_zone = NULL;
        acpi_bus_detach_private_data(tz->device->handle);