Commit e267d250 authored by Jean Delvare's avatar Jean Delvare

hwmon: (it87) Properly decode -128 degrees C temperature

The it87 driver is reporting -128 degrees C as +128 degrees C.
That's not a terribly likely temperature value but let's still
get it right, especially when it simplifies the code.
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent 1a51e068
...@@ -213,7 +213,7 @@ static inline u16 FAN16_TO_REG(long rpm) ...@@ -213,7 +213,7 @@ static inline u16 FAN16_TO_REG(long rpm)
#define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-500)/1000):\ #define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-500)/1000):\
((val)+500)/1000),-128,127)) ((val)+500)/1000),-128,127))
#define TEMP_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*1000) #define TEMP_FROM_REG(val) ((val) * 1000)
#define PWM_TO_REG(val) ((val) >> 1) #define PWM_TO_REG(val) ((val) >> 1)
#define PWM_FROM_REG(val) (((val)&0x7f) << 1) #define PWM_FROM_REG(val) (((val)&0x7f) << 1)
...@@ -267,9 +267,9 @@ struct it87_data { ...@@ -267,9 +267,9 @@ struct it87_data {
u8 has_fan; /* Bitfield, fans enabled */ u8 has_fan; /* Bitfield, fans enabled */
u16 fan[5]; /* Register values, possibly combined */ u16 fan[5]; /* Register values, possibly combined */
u16 fan_min[5]; /* Register values, possibly combined */ u16 fan_min[5]; /* Register values, possibly combined */
u8 temp[3]; /* Register value */ s8 temp[3]; /* Register value */
u8 temp_high[3]; /* Register value */ s8 temp_high[3]; /* Register value */
u8 temp_low[3]; /* Register value */ s8 temp_low[3]; /* Register value */
u8 sensor; /* Register value */ u8 sensor; /* Register value */
u8 fan_div[3]; /* Register encoding, shifted right */ u8 fan_div[3]; /* Register encoding, shifted right */
u8 vid; /* Register encoding, combined */ u8 vid; /* Register encoding, combined */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment