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.lezc...@linaro.org>

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

Reply via email to