]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
power: supply: ltc2941-battery-gauge: Fix temperature units
authorLadislav Michl <ladis@linux-mips.org>
Thu, 22 Feb 2018 17:21:36 +0000 (18:21 +0100)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Mon, 27 Aug 2018 14:40:05 +0000 (16:40 +0200)
BugLink: http://bugs.launchpad.net/bugs/1786352
[ Upstream commit dde5953f05a89eb63a0d666ffe51d447b2ac3e05 ]

Temperature is measured in tenths of degree Celsius.

Fixes: 085bc24d1553 ("Add LTC2941/LTC2943 Battery Gauge Driver")
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/power/supply/ltc2941-battery-gauge.c

index 08e4fd9ee6074717a35fdbe9f113e1e3b430a31f..9621d6dd88c6f6219486b2dc6ec169cc1d91dff1 100644 (file)
@@ -316,15 +316,15 @@ static int ltc294x_get_temperature(const struct ltc294x_info *info, int *val)
 
        if (info->id == LTC2942_ID) {
                reg = LTC2942_REG_TEMPERATURE_MSB;
-               value = 60000;  /* Full-scale is 600 Kelvin */
+               value = 6000  /* Full-scale is 600 Kelvin */
        } else {
                reg = LTC2943_REG_TEMPERATURE_MSB;
-               value = 51000;  /* Full-scale is 510 Kelvin */
+               value = 5100  /* Full-scale is 510 Kelvin */
        }
        ret = ltc294x_read_regs(info->client, reg, &datar[0], 2);
        value *= (datar[0] << 8) | datar[1];
-       /* Convert to centidegrees  */
-       *val = value / 0xFFFF - 27215;
+       /* Convert to tenths of degree Celsius */
+       *val = value / 0xFFFF - 2722;
        return ret;
 }