summaryrefslogtreecommitdiff
path: root/drivers/hwmon/lm90.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hwmon/lm90.c')
-rw-r--r--drivers/hwmon/lm90.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c
index a915d0356d57..66d706d665bd 100644
--- a/drivers/hwmon/lm90.c
+++ b/drivers/hwmon/lm90.c
@@ -1605,22 +1605,26 @@ static const char *lm90_detect_analog(struct i2c_client *client, int chip_id,
switch (chip_id) {
case 0x40 ... 0x4f: /* ADM1032 */
- if ((address == 0x4c || address == 0x4d) && !(config1 & 0x3f) &&
+ if (man_id2 == 0x00 && chip_id2 == 0x00 &&
+ (address == 0x4c || address == 0x4d) && !(config1 & 0x3f) &&
convrate <= 0x0a)
name = "adm1032";
break;
case 0x51: /* ADT7461 */
- if ((address == 0x4c || address == 0x4d) && !(config1 & 0x1b) &&
+ if (man_id2 == 0x00 && chip_id2 == 0x00 &&
+ (address == 0x4c || address == 0x4d) && !(config1 & 0x1b) &&
convrate <= 0x0a)
name = "adt7461";
break;
case 0x54: /* NCT1008 */
- if ((address == 0x4c || address == 0x4d) && !(config1 & 0x1b) &&
+ if (man_id2 == 0x41 && chip_id2 == 0x61 &&
+ (address == 0x4c || address == 0x4d) && !(config1 & 0x1b) &&
convrate <= 0x0a)
name = "nct1008";
break;
case 0x57: /* ADT7461A, NCT1008 (datasheet rev. 3) */
- if ((address == 0x4c || address == 0x4d) && !(config1 & 0x1b) &&
+ if (man_id2 == 0x41 && chip_id2 == 0x61 &&
+ (address == 0x4c || address == 0x4d) && !(config1 & 0x1b) &&
convrate <= 0x0a)
name = "adt7461a";
break;