aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmy Shih <amy.shih@advantech.com.tw>2020-05-12 09:38:06 +0000
committerGuenter Roeck <linux@roeck-us.net>2020-05-13 07:24:51 -0700
commit7b2fd270af27edaf02acb41a7babe805a9441914 (patch)
tree5014aee076998fa53349d8eafa8d50190b2c31a4
parenthwmon: (nct7904) Read all SMI status registers in probe function (diff)
downloadlinux-dev-7b2fd270af27edaf02acb41a7babe805a9441914.tar.xz
linux-dev-7b2fd270af27edaf02acb41a7babe805a9441914.zip
hwmon: (nct7904) Fix incorrect range of temperature limit registers
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>
-rw-r--r--drivers/hwmon/nct7904.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/hwmon/nct7904.c b/drivers/hwmon/nct7904.c
index 8d59cff37755..a7eb10d2a053 100644
--- a/drivers/hwmon/nct7904.c
+++ b/drivers/hwmon/nct7904.c
@@ -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;
}