[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c20d9077-66e8-f947-6422-c48e2f679cc5@linaro.org>
Date: Thu, 17 Dec 2020 07:28:46 +0100
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: rui.zhang@...el.com
Cc: kai.heng.feng@...onical.com, lukasz.luba@....com,
srinivas.pandruvada@...ux.intel.com, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, "Rafael J. Wysocki" <rjw@...ysocki.net>,
Len Brown <lenb@...nel.org>,
"open list:ACPI THERMAL DRIVER" <linux-acpi@...r.kernel.org>
Subject: Re: [PATCH 3/5] thermal/drivers/acpi: Use hot and critical ops
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@...aro.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
Powered by blists - more mailing lists