mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-19 12:24:34 +08:00
thermal: rcar_thermal: Always update thermal zone on interrupt
Since commit a1ade56538
("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
This commit is contained in:
parent
8d3a6d4f43
commit
7617e771c1
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user