diff options
-rw-r--r-- | Documentation/hwmon/lm90 | 8 | ||||
-rw-r--r-- | drivers/hwmon/lm90.c | 16 |
2 files changed, 11 insertions, 13 deletions
diff --git a/Documentation/hwmon/lm90 b/Documentation/hwmon/lm90 index 70abf93ea376..438cb24cee5b 100644 --- a/Documentation/hwmon/lm90 +++ b/Documentation/hwmon/lm90 | |||
@@ -24,14 +24,14 @@ Supported chips: | |||
24 | http://www.national.com/pf/LM/LM86.html | 24 | http://www.national.com/pf/LM/LM86.html |
25 | * Analog Devices ADM1032 | 25 | * Analog Devices ADM1032 |
26 | Prefix: 'adm1032' | 26 | Prefix: 'adm1032' |
27 | Addresses scanned: I2C 0x4c | 27 | Addresses scanned: I2C 0x4c and 0x4d |
28 | Datasheet: Publicly available at the Analog Devices website | 28 | Datasheet: Publicly available at the Analog Devices website |
29 | http://products.analog.com/products/info.asp?product=ADM1032 | 29 | http://www.analog.com/en/prod/0,2877,ADM1032,00.html |
30 | * Analog Devices ADT7461 | 30 | * Analog Devices ADT7461 |
31 | Prefix: 'adt7461' | 31 | Prefix: 'adt7461' |
32 | Addresses scanned: I2C 0x4c | 32 | Addresses scanned: I2C 0x4c and 0x4d |
33 | Datasheet: Publicly available at the Analog Devices website | 33 | Datasheet: Publicly available at the Analog Devices website |
34 | http://products.analog.com/products/info.asp?product=ADT7461 | 34 | http://www.analog.com/en/prod/0,2877,ADT7461,00.html |
35 | Note: Only if in ADM1032 compatibility mode | 35 | Note: Only if in ADM1032 compatibility mode |
36 | * Maxim MAX6657 | 36 | * Maxim MAX6657 |
37 | Prefix: 'max6657' | 37 | Prefix: 'max6657' |
diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c index fa0793e684fd..83cf2e1b09f5 100644 --- a/drivers/hwmon/lm90.c +++ b/drivers/hwmon/lm90.c | |||
@@ -31,7 +31,7 @@ | |||
31 | * Devices. That chip is similar to the LM90, with a few differences | 31 | * Devices. That chip is similar to the LM90, with a few differences |
32 | * that are not handled by this driver. Complete datasheet can be | 32 | * that are not handled by this driver. Complete datasheet can be |
33 | * obtained from Analog's website at: | 33 | * obtained from Analog's website at: |
34 | * http://products.analog.com/products/info.asp?product=ADM1032 | 34 | * http://www.analog.com/en/prod/0,2877,ADM1032,00.html |
35 | * Among others, it has a higher accuracy than the LM90, much like the | 35 | * Among others, it has a higher accuracy than the LM90, much like the |
36 | * LM86 does. | 36 | * LM86 does. |
37 | * | 37 | * |
@@ -49,7 +49,7 @@ | |||
49 | * register values are decoded differently) it is ignored by this | 49 | * register values are decoded differently) it is ignored by this |
50 | * driver. Complete datasheet can be obtained from Analog's website | 50 | * driver. Complete datasheet can be obtained from Analog's website |
51 | * at: | 51 | * at: |
52 | * http://products.analog.com/products/info.asp?product=ADT7461 | 52 | * http://www.analog.com/en/prod/0,2877,ADT7461,00.html |
53 | * | 53 | * |
54 | * Since the LM90 was the first chipset supported by this driver, most | 54 | * Since the LM90 was the first chipset supported by this driver, most |
55 | * comments will refer to this chipset, but are actually general and | 55 | * comments will refer to this chipset, but are actually general and |
@@ -83,10 +83,10 @@ | |||
83 | * Addresses to scan | 83 | * Addresses to scan |
84 | * Address is fully defined internally and cannot be changed except for | 84 | * Address is fully defined internally and cannot be changed except for |
85 | * MAX6659. | 85 | * MAX6659. |
86 | * LM86, LM89, LM90, LM99, ADM1032, MAX6657 and MAX6658 have address 0x4c. | 86 | * LM86, LM89, LM90, LM99, ADM1032, ADM1032-1, ADT7461, MAX6657 and MAX6658 |
87 | * LM89-1, and LM99-1 have address 0x4d. | 87 | * have address 0x4c. |
88 | * ADM1032-2, ADT7461-2, LM89-1, and LM99-1 have address 0x4d. | ||
88 | * MAX6659 can have address 0x4c, 0x4d or 0x4e (unsupported). | 89 | * MAX6659 can have address 0x4c, 0x4d or 0x4e (unsupported). |
89 | * ADT7461 always has address 0x4c. | ||
90 | */ | 90 | */ |
91 | 91 | ||
92 | static unsigned short normal_i2c[] = { 0x4c, 0x4d, I2C_CLIENT_END }; | 92 | static unsigned short normal_i2c[] = { 0x4c, 0x4d, I2C_CLIENT_END }; |
@@ -500,14 +500,12 @@ static int lm90_detect(struct i2c_adapter *adapter, int address, int kind) | |||
500 | } | 500 | } |
501 | } else | 501 | } else |
502 | if (man_id == 0x41) { /* Analog Devices */ | 502 | if (man_id == 0x41) { /* Analog Devices */ |
503 | if (address == 0x4C | 503 | if ((chip_id & 0xF0) == 0x40 /* ADM1032 */ |
504 | && (chip_id & 0xF0) == 0x40 /* ADM1032 */ | ||
505 | && (reg_config1 & 0x3F) == 0x00 | 504 | && (reg_config1 & 0x3F) == 0x00 |
506 | && reg_convrate <= 0x0A) { | 505 | && reg_convrate <= 0x0A) { |
507 | kind = adm1032; | 506 | kind = adm1032; |
508 | } else | 507 | } else |
509 | if (address == 0x4c | 508 | if (chip_id == 0x51 /* ADT7461 */ |
510 | && chip_id == 0x51 /* ADT7461 */ | ||
511 | && (reg_config1 & 0x1F) == 0x00 /* check compat mode */ | 509 | && (reg_config1 & 0x1F) == 0x00 /* check compat mode */ |
512 | && reg_convrate <= 0x0A) { | 510 | && reg_convrate <= 0x0A) { |
513 | kind = adt7461; | 511 | kind = adt7461; |