From: Rudolf Marek Date: Thu, 18 Jan 2007 21:14:24 +0000 (+0100) Subject: hwmon/w83793: Fix the fan input detection X-Git-Tag: v2.6.20-rc6~58^2~1 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;h=c92943152884e3777439ad40a40126f2e51b8ea8;p=linux-2.6 hwmon/w83793: Fix the fan input detection Catch the cases when alternative pins are used to route the fan9-12 input. Signed-off-by: Rudolf Marek Signed-off-by: Gong Jun Signed-off-by: Jean Delvare --- diff --git a/drivers/hwmon/w83793.c b/drivers/hwmon/w83793.c index c2b7834eca..7cadef8cd8 100644 --- a/drivers/hwmon/w83793.c +++ b/drivers/hwmon/w83793.c @@ -1327,6 +1327,20 @@ static int w83793_detect(struct i2c_adapter *adapter, int address, int kind) data->has_pwm |= 0x80; } + tmp = w83793_read_value(client, W83793_REG_FANIN_SEL); + if ((tmp & 0x01) && (val & 0x08)) { /* fan 9, second location */ + data->has_fan |= 0x100; + } + if ((tmp & 0x02) && (val & 0x10)) { /* fan 10, second location */ + data->has_fan |= 0x200; + } + if ((tmp & 0x04) && (val & 0x20)) { /* fan 11, second location */ + data->has_fan |= 0x400; + } + if ((tmp & 0x08) && (val & 0x40)) { /* fan 12, second location */ + data->has_fan |= 0x800; + } + /* check the temp1-6 mode, ignore former AMDSI selected inputs */ tmp = w83793_read_value(client,W83793_REG_TEMP_MODE[0]); if (tmp & 0x01)