Properly encode and decode -128 degrees C. Fix ported from Linux 2.6.

git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-2.10@5686 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare committed 2009-03-13 12:45:34 +00:00
1 parent 5e90c3d2f7
commit 465e03ce73
2 files changed
+7 -6

No files matched your search

+6 -6
View File
@@ -196,8 +196,8 @@ static inline u8 FAN_TO_REG(long rpm, int div)
#define FAN_FROM_REG(val,div) ((val)==0?-1:(val)==255?0:1350000/((val)*(div)))
#define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-5)/10):\
((val)+5)/10),-127,127))
#define TEMP_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*10)
((val)+5)/10), -128, 127))
#define TEMP_FROM_REG(val) ((val) * 10)
#define VID_FROM_REG(val) ((val)==0x1f?0:(val)>=0x10?510-(val)*10:\
205-(val)*5)
@@ -233,15 +233,15 @@ struct it87_data {
u8 in_min[9]; /* Register value */
u8 fan[3]; /* Register value */
u8 fan_min[3]; /* Register value */
u8 temp[3]; /* Register value */
u8 temp_high[3]; /* Register value */
u8 temp_low[3]; /* Register value */
s8 temp[3]; /* Register value */
s8 temp_high[3]; /* Register value */
s8 temp_low[3]; /* Register value */
u8 fan_div[3]; /* Register encoding, shifted right */
u8 vid; /* Register encoding, combined */
u32 alarms; /* Register encoding, combined */
u8 pwm[3]; /* Register value */
u8 fan_ctl[2]; /* Register encoding */
u8 sg_tl[3][5]; /* Register value */
s8 sg_tl[3][5]; /* Register value */
u8 sg_pwm[3][3]; /* Register value */
u8 sens[3]; /* 2 = Thermistor,
3 = PII/Celeron diode */