From cddd0a915ea7048f4a6b1e2e279aed3fe47ef38a Mon Sep 17 00:00:00 2001 From: "Mark D. Studebaker" Date: Tue, 20 Mar 2001 01:46:44 +0000 Subject: [PATCH] Don't reset the as99127f chip at startup. This may improve things that are configurable as we will count on the BIOS to configure the chip correctly. This will likely change fan and temperature readings for some users. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1039 7894878c-1315-0410-8ee3-d5d059ff63e0 --- kernel/chips/w83781d.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/kernel/chips/w83781d.c b/kernel/chips/w83781d.c index 2a2f53f0..b8e84726 100644 --- a/kernel/chips/w83781d.c +++ b/kernel/chips/w83781d.c @@ -1188,18 +1188,21 @@ void w83781d_init_client(struct i2c_client *client) int type = data->type; u8 tmp; - /* save this register */ - i = w83781d_read_value(client, W83781D_REG_BEEP_CONFIG); - /* Reset all except Watchdog values and last conversion values - This sets fan-divs to 2, among others */ - w83781d_write_value(client, W83781D_REG_CONFIG, 0x80); - /* Restore the register and disable power-on abnormal beep. - This saves FAN 1/2/3 input/output values set by BIOS. */ - w83781d_write_value(client, W83781D_REG_BEEP_CONFIG, i | 0x80); - /* 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); + if(type != as99127f) { /* this resets registers we don't have + documentation for on the as99127f */ + /* save this register */ + i = w83781d_read_value(client, W83781D_REG_BEEP_CONFIG); + /* Reset all except Watchdog values and last conversion values + This sets fan-divs to 2, among others */ + w83781d_write_value(client, W83781D_REG_CONFIG, 0x80); + /* Restore the register and disable power-on abnormal beep. + This saves FAN 1/2/3 input/output values set by BIOS. */ + w83781d_write_value(client, W83781D_REG_BEEP_CONFIG, i | 0x80); + /* 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; vid |=