Re: [PATCH 3/5] thermal/drivers/acpi: Use hot and critical ops
From: Daniel Lezcano
Date: Thu Dec 17 2020 - 01:29:32 EST
On 10/12/2020 13:15, Daniel Lezcano wrote:
> The acpi driver wants to do a netlink notification in case of a hot or
> critical trip point. Implement the corresponding ops to be used for
> the thermal zone and use them instead of the notify ops.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Is there any comment on this patch ?
> ---
> drivers/acpi/thermal.c | 30 ++++++++++++++----------------
> 1 file changed, 14 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
> index 12c0ece746f0..b5e4bc9e3282 100644
> --- a/drivers/acpi/thermal.c
> +++ b/drivers/acpi/thermal.c
> @@ -677,27 +677,24 @@ static int thermal_get_trend(struct thermal_zone_device *thermal,
> return 0;
> }
>
> -
> -static int thermal_notify(struct thermal_zone_device *thermal, int trip,
> - enum thermal_trip_type trip_type)
> +static void acpi_thermal_zone_device_hot(struct thermal_zone_device *thermal)
> {
> - u8 type = 0;
> struct acpi_thermal *tz = thermal->devdata;
>
> - if (trip_type == THERMAL_TRIP_CRITICAL)
> - type = ACPI_THERMAL_NOTIFY_CRITICAL;
> - else if (trip_type == THERMAL_TRIP_HOT)
> - type = ACPI_THERMAL_NOTIFY_HOT;
> - else
> - return 0;
> -
> acpi_bus_generate_netlink_event(tz->device->pnp.device_class,
> - dev_name(&tz->device->dev), type, 1);
> + dev_name(&tz->device->dev),
> + ACPI_THERMAL_NOTIFY_HOT, 1);
> +}
>
> - if (trip_type == THERMAL_TRIP_CRITICAL && nocrt)
> - return 1;
> +static void acpi_thermal_zone_device_critical(struct thermal_zone_device *thermal)
> +{
> + struct acpi_thermal *tz = thermal->devdata;
>
> - return 0;
> + acpi_bus_generate_netlink_event(tz->device->pnp.device_class,
> + dev_name(&tz->device->dev),
> + ACPI_THERMAL_NOTIFY_CRITICAL, 1);
> +
> + thermal_zone_device_critical(thermal);
> }
>
> static int acpi_thermal_cooling_device_cb(struct thermal_zone_device *thermal,
> @@ -812,7 +809,8 @@ static struct thermal_zone_device_ops acpi_thermal_zone_ops = {
> .get_trip_temp = thermal_get_trip_temp,
> .get_crit_temp = thermal_get_crit_temp,
> .get_trend = thermal_get_trend,
> - .notify = thermal_notify,
> + .hot = acpi_thermal_zone_device_hot,
> + .critical = acpi_thermal_zone_device_critical,
> };
>
> static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
>
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog