diff --git a/kernel/chips/adm9240.c b/kernel/chips/adm9240.c index 9c29fd93..6ea38e0b 100644 --- a/kernel/chips/adm9240.c +++ b/kernel/chips/adm9240.c @@ -169,7 +169,7 @@ extern inline u8 FAN_TO_REG(long rpm, int div) #define DIV_TO_REG(val) ((val)==1?0:((val)==8?3:((val)==4?2:1))) #define VID_FROM_REG(val) ((val)==0x1f?0:(val)>=0x10?510-(val)*10:\ - (val)>=0x06?0:205-(val)*5) + 205-(val)*5) /* Initial limits */ #define ADM9240_INIT_IN_0 190 diff --git a/kernel/chips/gl520sm.c b/kernel/chips/gl520sm.c index 6145bc4b..1ec62cc9 100644 --- a/kernel/chips/gl520sm.c +++ b/kernel/chips/gl520sm.c @@ -118,7 +118,7 @@ extern inline u8 FAN_TO_REG(long rpm, int div) #define BEEPS_FROM_REG(val) (val) #define VID_FROM_REG(val) ((val)==0x1f?0:(val)>=0x10?510-(val)*10:\ - (val)>=0x06?0:205-(val)*5) + 205-(val)*5) /* Initial values */ #define GL520_INIT_TEMP_OVER 600 diff --git a/kernel/chips/lm78.c b/kernel/chips/lm78.c index 4b4b3e9b..172fb16d 100644 --- a/kernel/chips/lm78.c +++ b/kernel/chips/lm78.c @@ -102,7 +102,7 @@ extern inline u8 FAN_TO_REG(long rpm, int div) #define TEMP_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*10) #define VID_FROM_REG(val) ((val)==0x1f?0:(val)>=0x10?510-(val)*10:\ - (val)>=0x06?0:205-(val)*5) + 205-(val)*5) #define ALARMS_FROM_REG(val) (val) #define DIV_TO_REG(val) ((val)==8?3:(val)==4?2:(val)==1?0:1) diff --git a/kernel/chips/w83781d.c b/kernel/chips/w83781d.c index e291ad3a..9ef263ee 100644 --- a/kernel/chips/w83781d.c +++ b/kernel/chips/w83781d.c @@ -26,7 +26,7 @@ Chip #vin #fanin #pwm #temp wchipid vendid i2c ISA as99127f 9 3 2-4 3 0x20 0x12c3 yes no w83781d 7 3 0 3 0x10 0x5ca3 yes yes - w83627hf 9 3 2-4 3 0x20 0x5ca3 yes yes (LPC) + w83627hf 9 3 2-4 3 0x20 0x5ca3 yes yes(LPC) w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes w83783s 5-6 3 2 1-2 0x40 0x5ca3 yes no @@ -173,7 +173,7 @@ extern inline u8 FAN_TO_REG(long rpm, int div) #define TEMP_ADD_FROM_REG(val) (((val) >> 7) * 5) #define VID_FROM_REG(val) ((val)==0x1f?0:(val)>=0x10?510-(val)*10:\ - (val)>=0x06?0:205-(val)*5) + 205-(val)*5) #define ALARMS_FROM_REG(val) (val) #define PWM_FROM_REG(val) (val) #define PWM_TO_REG(val) (SENSORS_LIMIT((val),0,255)) @@ -964,8 +964,13 @@ void w83781d_init_client(struct i2c_client *client) /* Reset all except Watchdog values and last conversion values This sets fan-divs to 2, among others */ - /* Disable beeps (reset turns them on) */ w83781d_write_value(client,W83781D_REG_CONFIG,0x80); + /* Disable power-on abnormal beep. BIOS should have already turned off but + not all do. Reset value is 0x15, write a 0x95. */ + w83781d_write_value(client,W83781D_REG_BEEP_CONFIG, 0x95); + /* Disable master beep-enable (reset turns it on). + Individual beeps should be reset to off but for some reason + disabling this bit helps some people not get beeped */ w83781d_write_value(client,W83781D_REG_BEEP_INTS2,0); vid = w83781d_read_value(client,W83781D_REG_VID_FANDIV) & 0x0f;