Skip to content

Commit

Permalink
hwmon: (tmp401) Fix device detection for TMP411B and TMP411C
Browse files Browse the repository at this point in the history
Turns out that TMP411B and TMP411C have different and unique device IDs.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Jean Delvare <khali@linux-fr.org>
  • Loading branch information
Guenter Roeck committed Apr 8, 2013
1 parent e1eb490 commit 4ce5b1f
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions drivers/hwmon/tmp401.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,9 @@ static const u8 TMP411_TEMP_HIGHEST_LSB[2] = { 0x33, 0x37 };
/* Manufacturer / Device ID's */
#define TMP401_MANUFACTURER_ID 0x55
#define TMP401_DEVICE_ID 0x11
#define TMP411_DEVICE_ID 0x12
#define TMP411A_DEVICE_ID 0x12
#define TMP411B_DEVICE_ID 0x13
#define TMP411C_DEVICE_ID 0x10
#define TMP431_DEVICE_ID 0x31

/*
Expand Down Expand Up @@ -561,7 +563,19 @@ static int tmp401_detect(struct i2c_client *client,
return -ENODEV;
kind = tmp401;
break;
case TMP411_DEVICE_ID:
case TMP411A_DEVICE_ID:
if (client->addr != 0x4c)
return -ENODEV;
kind = tmp411;
break;
case TMP411B_DEVICE_ID:
if (client->addr != 0x4d)
return -ENODEV;
kind = tmp411;
break;
case TMP411C_DEVICE_ID:
if (client->addr != 0x4e)
return -ENODEV;
kind = tmp411;
break;
case TMP431_DEVICE_ID:
Expand Down

0 comments on commit 4ce5b1f

Please sign in to comment.