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 1ec57d9ecf5395eb557199204d52b4ea23302536..e9bef5c3414b6fe56cc7be0568cea422f95fc4c9 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;
 }