thermal/drivers/bcm2711: Don't clamp temperature at zero
authorStefan Wahren <stefan.wahren@i2se.com>
Tue, 12 Apr 2022 19:54:23 +0000 (21:54 +0200)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 19 May 2022 10:11:51 +0000 (12:11 +0200)
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: 59b781352dc4 ("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>
drivers/thermal/broadcom/bcm2711_thermal.c

index 1ec57d9..e9bef5c 100644 (file)
@@ -38,7 +38,6 @@ static int bcm2711_get_temp(void *data, int *temp)
        int offset = thermal_zone_get_offset(priv->thermal);
        u32 val;
        int ret;
-       long t;
 
        ret = regmap_read(priv->regmap, AVS_RO_TEMP_STATUS, &val);
        if (ret)
@@ -50,9 +49,7 @@ static int bcm2711_get_temp(void *data, int *temp)
        val &= AVS_RO_TEMP_STATUS_DATA_MSK;
 
        /* Convert a HW code to a temperature reading (millidegree celsius) */
-       t = slope * val + offset;
-
-       *temp = t < 0 ? 0 : t;
+       *temp = slope * val + offset;
 
        return 0;
 }