2023-08-08 22:35:17

by Rafael J. Wysocki

[permalink] [raw]
Subject: [PATCH v1] ACPI: thermal: Do not attach private data to ACPI handles

From: Rafael J. Wysocki <[email protected]>

The ACPI thermal driver uses acpi_bus_attach_private_data() to attach
the thermal zone object to the ACPI handle of the thermal zone and
acpi_bus_detach_private_data() to clean that up, but it never uses
acpi_bus_get_private_data() to retrieve that object.

Drop the unneded acpi_bus_attach_private_data() and
acpi_bus_detach_private_data() calls from the ACPI thermal driver and
clean up the related code.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <[email protected]>
---
drivers/acpi/thermal.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)

Index: linux-pm/drivers/acpi/thermal.c
===================================================================
--- linux-pm.orig/drivers/acpi/thermal.c
+++ linux-pm/drivers/acpi/thermal.c
@@ -742,7 +742,6 @@ static int acpi_thermal_register_thermal
{
int trips = 0;
int result;
- acpi_status status;
int i;

if (tz->trips.critical.valid)
@@ -775,24 +774,15 @@ static int acpi_thermal_register_thermal
if (result)
goto unregister_tzd;

- status = acpi_bus_attach_private_data(tz->device->handle,
- tz->thermal_zone);
- if (ACPI_FAILURE(status)) {
- result = -ENODEV;
- goto remove_links;
- }
-
result = thermal_zone_device_enable(tz->thermal_zone);
if (result)
- goto acpi_bus_detach;
+ goto remove_links;

dev_info(&tz->device->dev, "registered as thermal_zone%d\n",
thermal_zone_device_id(tz->thermal_zone));

return 0;

-acpi_bus_detach:
- acpi_bus_detach_private_data(tz->device->handle);
remove_links:
acpi_thermal_zone_sysfs_remove(tz);
unregister_tzd:
@@ -806,7 +796,6 @@ static void acpi_thermal_unregister_ther
acpi_thermal_zone_sysfs_remove(tz);
thermal_zone_device_unregister(tz->thermal_zone);
tz->thermal_zone = NULL;
- acpi_bus_detach_private_data(tz->device->handle);
}







2023-08-09 03:55:24

by Zhang, Rui

[permalink] [raw]
Subject: Re: [PATCH v1] ACPI: thermal: Do not attach private data to ACPI handles

On Tue, 2023-08-08 at 22:15 +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <[email protected]>
>
> The ACPI thermal driver uses acpi_bus_attach_private_data() to attach
> the thermal zone object to the ACPI handle of the thermal zone and
> acpi_bus_detach_private_data() to clean that up, but it never uses
> acpi_bus_get_private_data() to retrieve that object.
>
> Drop the unneded acpi_bus_attach_private_data() and
> acpi_bus_detach_private_data() calls from the ACPI thermal driver and
> clean up the related code.
>
> No intentional functional impact.
>
> Signed-off-by: Rafael J. Wysocki <[email protected]>

yeah, the attached private data is used by the intel_menlow driver, and
it is not needed any more after intel_menlow driver removed.

I have exactly the same patch that I planned to send after the thermal
trip point patches merged, so

Reviewed-by: Zhang Rui <[email protected]>

thanks,
rui

> ---
>  drivers/acpi/thermal.c |   13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)
>
> Index: linux-pm/drivers/acpi/thermal.c
> ===================================================================
> --- linux-pm.orig/drivers/acpi/thermal.c
> +++ linux-pm/drivers/acpi/thermal.c
> @@ -742,7 +742,6 @@ static int acpi_thermal_register_thermal
>  {
>         int trips = 0;
>         int result;
> -       acpi_status status;
>         int i;
>  
>         if (tz->trips.critical.valid)
> @@ -775,24 +774,15 @@ static int acpi_thermal_register_thermal
>         if (result)
>                 goto unregister_tzd;
>  
> -       status =  acpi_bus_attach_private_data(tz->device->handle,
> -                                              tz->thermal_zone);
> -       if (ACPI_FAILURE(status)) {
> -               result = -ENODEV;
> -               goto remove_links;
> -       }
> -
>         result = thermal_zone_device_enable(tz->thermal_zone);
>         if (result)
> -               goto acpi_bus_detach;
> +               goto remove_links;
>  
>         dev_info(&tz->device->dev, "registered as thermal_zone%d\n",
>                  thermal_zone_device_id(tz->thermal_zone));
>  
>         return 0;
>  
> -acpi_bus_detach:
> -       acpi_bus_detach_private_data(tz->device->handle);
>  remove_links:
>         acpi_thermal_zone_sysfs_remove(tz);
>  unregister_tzd:
> @@ -806,7 +796,6 @@ static void acpi_thermal_unregister_ther
>         acpi_thermal_zone_sysfs_remove(tz);
>         thermal_zone_device_unregister(tz->thermal_zone);
>         tz->thermal_zone = NULL;
> -       acpi_bus_detach_private_data(tz->device->handle);
>  }
>  
>  
>
>
>