thermal: rcar_thermal: Always update thermal zone on interrupt
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Tue, 10 Mar 2020 17:00:27 +0000 (18:00 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 20 Mar 2020 11:17:48 +0000 (12:17 +0100)
Since commit a1ade5653804b8eb ("thermal: rcar: check every
rcar_thermal_update_temp() return value") the temperature is always read
in rcar_thermal_get_current_temp() so comparing it before and after
enabling interrupts have little effect. Remove the check and always
update the thermal zone when we get an interrupt that the temperature
have changed.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200310170029.1648996-2-niklas.soderlund+renesas@ragnatech.se
drivers/thermal/rcar_thermal.c

index 4a48d1d..fc54acd 100644 (file)
@@ -387,28 +387,17 @@ static void _rcar_thermal_irq_ctrl(struct rcar_thermal_priv *priv, int enable)
 static void rcar_thermal_work(struct work_struct *work)
 {
        struct rcar_thermal_priv *priv;
-       int cctemp, nctemp;
        int ret;
 
        priv = container_of(work, struct rcar_thermal_priv, work.work);
 
-       ret = rcar_thermal_get_current_temp(priv, &cctemp);
-       if (ret < 0)
-               return;
-
        ret = rcar_thermal_update_temp(priv);
        if (ret < 0)
                return;
 
        rcar_thermal_irq_enable(priv);
 
-       ret = rcar_thermal_get_current_temp(priv, &nctemp);
-       if (ret < 0)
-               return;
-
-       if (nctemp != cctemp)
-               thermal_zone_device_update(priv->zone,
-                                          THERMAL_EVENT_UNSPECIFIED);
+       thermal_zone_device_update(priv->zone, THERMAL_EVENT_UNSPECIFIED);
 }
 
 static u32 rcar_thermal_had_changed(struct rcar_thermal_priv *priv, u32 status)