OSDN Git Service

hwmon: (nct7904) Fix incorrect range of temperature limit registers
authorAmy Shih <amy.shih@advantech.com.tw>
Tue, 12 May 2020 09:38:06 +0000 (09:38 +0000)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 13 May 2020 14:24:51 +0000 (07:24 -0700)
The format of temperature limitation registers are 8-bit 2's complement
and the range is -128~127.
Converts the reading value to signed char to fix the incorrect range
of temperature limitation registers.

Signed-off-by: Amy Shih <amy.shih@advantech.com.tw>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/nct7904.c

index 8d59cff..a7eb10d 100644 (file)
@@ -362,6 +362,7 @@ static int nct7904_read_temp(struct device *dev, u32 attr, int channel,
        struct nct7904_data *data = dev_get_drvdata(dev);
        int ret, temp;
        unsigned int reg1, reg2, reg3;
+       s8 temps;
 
        switch (attr) {
        case hwmon_temp_input:
@@ -467,7 +468,8 @@ static int nct7904_read_temp(struct device *dev, u32 attr, int channel,
 
        if (ret < 0)
                return ret;
-       *val = ret * 1000;
+       temps = ret;
+       *val = temps * 1000;
        return 0;
 }