Skip to content

Commit

Permalink
ACPI: thermal: Use thermal_zone_device()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
dlezcano authored and rafaeljw committed Apr 27, 2023
1 parent ba7894b commit 66d39e7
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions drivers/acpi/thermal.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand All @@ -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:
Expand All @@ -860,8 +863,10 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)

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);
Expand Down

0 comments on commit 66d39e7

Please sign in to comment.