]>
Commit | Line | Data |
---|---|---|
1d9df89a | 1 | --- linux-2.6.0-test11-gkh/drivers/i2c/chips/w83781d.c 2003-12-14 13:53:50.000000000 -0500 |
2 | +++ linux-2.6.0-test11-mmh/drivers/i2c/chips/w83781d.c 2003-12-14 15:50:46.000000000 -0500 | |
3 | @@ -24,10 +24,11 @@ | |
4 | Supports following chips: | |
5 | ||
6 | Chip #vin #fanin #pwm #temp wchipid vendid i2c ISA | |
7 | - as99127f 7 3 1? 3 0x30 0x12c3 yes no | |
8 | - asb100 "bach" (type_name = as99127f) 0x30 0x0694 yes no | |
9 | - w83781d 7 3 0 3 0x10 0x5ca3 yes yes | |
10 | - w83627hf 9 3 2 3 0x20 0x5ca3 yes yes(LPC) | |
11 | + as99127f 7 3 1? 3 0x31 0x12c3 yes no | |
12 | + as99127f rev.2 (type_name = 1299127f) 0x31 0x5ca3 yes no | |
13 | + asb100 "bach" (type_name = as99127f) 0x31 0x0694 yes no | |
14 | + w83781d 7 3 0 3 0x10-1 0x5ca3 yes yes | |
15 | + w83627hf 9 3 2 3 0x21 0x5ca3 yes yes(LPC) | |
16 | w83627thf 9 3 2 3 0x90 0x5ca3 no yes(LPC) | |
17 | w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes | |
18 | w83783s 5-6 3 2 1-2 0x40 0x5ca3 yes no | |
19 | @@ -1264,7 +1265,7 @@ | |
20 | goto ERROR2; | |
21 | } | |
22 | /* If Winbond SMBus, check address at 0x48. | |
23 | - Asus doesn't support */ | |
24 | + Asus doesn't support, except for as99127f rev.2 */ | |
25 | if ((!is_isa) && (((!(val1 & 0x80)) && (val2 == 0xa3)) || | |
26 | ((val1 & 0x80) && (val2 == 0x5c)))) { | |
27 | if (w83781d_read_value | |
28 | @@ -1295,18 +1296,17 @@ | |
29 | goto ERROR2; | |
30 | } | |
31 | ||
32 | - /* mask off lower bit, not reliable */ | |
33 | - val1 = | |
34 | - w83781d_read_value(new_client, W83781D_REG_WCHIPID) & 0xfe; | |
35 | - if (val1 == 0x10 && vendid == winbond) | |
36 | + val1 = w83781d_read_value(new_client, W83781D_REG_WCHIPID); | |
37 | + if ((val1 == 0x10 || val1 == 0x11) && vendid == winbond) | |
38 | kind = w83781d; | |
39 | else if (val1 == 0x30 && vendid == winbond) | |
40 | kind = w83782d; | |
41 | - else if (val1 == 0x40 && vendid == winbond && !is_isa) | |
42 | + else if (val1 == 0x40 && vendid == winbond && !is_isa | |
43 | + && address == 0x2d) | |
44 | kind = w83783s; | |
45 | - else if ((val1 == 0x20 || val1 == 0x90) && vendid == winbond) | |
46 | + else if ((val1 == 0x21 || val1 == 0x90) && vendid == winbond) | |
47 | kind = w83627hf; | |
48 | - else if (val1 == 0x30 && vendid == asus && !is_isa) | |
49 | + else if (val1 == 0x31 && !is_isa && address >= 0x28) | |
50 | kind = as99127f; | |
51 | else if (val1 == 0x60 && vendid == winbond && is_isa) | |
52 | kind = w83697hf; |