Re: [PATCH v2 1/2] acpi: thermal: update thermal_zone after enable the driver.

From: Zhang Rui
Date: Thu Jun 29 2017 - 22:40:48 EST


On Thu, 2017-06-29 at 18:50 +0200, Enric Balletbo i Serra wrote:
> Use thermal_set_mode instead of just set the tz_enable variable when
> enabling the ACPI thermal driver. The purpose of this change is
> trigger
> a thermal_zone_device_update when driver switches from disabled to
> enabled mode so thermal_zone data is up-to-date.
>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
> ---
> This patch is new from v1 [1]
>
> [1] https://patchwork.kernel.org/patch/9804229/
>
> Âdrivers/acpi/thermal.c | 4 +++-
> Â1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
> index 1d0417b..9949458 100644
> --- a/drivers/acpi/thermal.c
> +++ b/drivers/acpi/thermal.c
> @@ -930,7 +930,9 @@ static int
> acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
> Â if (ACPI_FAILURE(status))
> Â return -ENODEV;
> Â
> - tz->tz_enabled = 1;
> + result = thermal_set_mode(tz->thermal_zone,
> THERMAL_DEVICE_ENABLED);
> + if (result)
> + return result;

thermal core is responsible for checking the thermal zone "mode", and
set the polling properly, right after thermal_zone_device_being
registered.

Thus we need to do nothing, but just make sure tz->tz_enabled is set
properly before registering the zone.

thanks,
rui
> Â
> Â dev_info(&tz->device->dev, "registered as thermal_zone%d\n",
> Â Âtz->thermal_zone->id);