thermal/drivers/bcm2711: Don't clamp temperature at zero
[ Upstream commit106e0121e2
] The thermal sensor on BCM2711 is capable of negative temperatures, so don't clamp the measurements at zero. Since this was the only use for variable t, drop it. This change based on a patch by Dom Cobley, who also tested the fix. Fixes:59b781352d
("thermal: Add BCM2711 thermal driver") Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20220412195423.104511-1-stefan.wahren@i2se.com Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
d50d1c703b
Коммит
c4e1280abe
|
@ -38,7 +38,6 @@ static int bcm2711_get_temp(void *data, int *temp)
|
||||||
int offset = thermal_zone_get_offset(priv->thermal);
|
int offset = thermal_zone_get_offset(priv->thermal);
|
||||||
u32 val;
|
u32 val;
|
||||||
int ret;
|
int ret;
|
||||||
long t;
|
|
||||||
|
|
||||||
ret = regmap_read(priv->regmap, AVS_RO_TEMP_STATUS, &val);
|
ret = regmap_read(priv->regmap, AVS_RO_TEMP_STATUS, &val);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -50,9 +49,7 @@ static int bcm2711_get_temp(void *data, int *temp)
|
||||||
val &= AVS_RO_TEMP_STATUS_DATA_MSK;
|
val &= AVS_RO_TEMP_STATUS_DATA_MSK;
|
||||||
|
|
||||||
/* Convert a HW code to a temperature reading (millidegree celsius) */
|
/* Convert a HW code to a temperature reading (millidegree celsius) */
|
||||||
t = slope * val + offset;
|
*temp = slope * val + offset;
|
||||||
|
|
||||||
*temp = t < 0 ? 0 : t;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче