diff options
author | Guenter Roeck <linux@roeck-us.net> | 2013-09-23 14:23:37 -0400 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2013-10-18 12:12:03 -0400 |
commit | 3f08d7f49f8365d5c9050522ee733951a503e955 (patch) | |
tree | 864389fe22318856f8ee65621d1034a998dd9ece | |
parent | c24c407e963e73d3ad18b9bc0af32cf23f37a7b0 (diff) |
hwmon: (pmbus/ltc2978): Add support for LTC2978A
Detect LTC2978A chip ID. Treat it as LC2978.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
-rw-r--r-- | Documentation/hwmon/ltc2978 | 3 | ||||
-rw-r--r-- | drivers/hwmon/pmbus/ltc2978.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Documentation/hwmon/ltc2978 b/Documentation/hwmon/ltc2978 index 6934936de2c7..a0546fc42273 100644 --- a/Documentation/hwmon/ltc2978 +++ b/Documentation/hwmon/ltc2978 | |||
@@ -10,10 +10,11 @@ Supported chips: | |||
10 | Prefix: 'ltc2977' | 10 | Prefix: 'ltc2977' |
11 | Addresses scanned: - | 11 | Addresses scanned: - |
12 | Datasheet: http://www.linear.com/product/ltc2977 | 12 | Datasheet: http://www.linear.com/product/ltc2977 |
13 | * Linear Technology LTC2978 | 13 | * Linear Technology LTC2978, LTC2978A |
14 | Prefix: 'ltc2978' | 14 | Prefix: 'ltc2978' |
15 | Addresses scanned: - | 15 | Addresses scanned: - |
16 | Datasheet: http://www.linear.com/product/ltc2978 | 16 | Datasheet: http://www.linear.com/product/ltc2978 |
17 | http://www.linear.com/product/ltc2978a | ||
17 | * Linear Technology LTC3880 | 18 | * Linear Technology LTC3880 |
18 | Prefix: 'ltc3880' | 19 | Prefix: 'ltc3880' |
19 | Addresses scanned: - | 20 | Addresses scanned: - |
diff --git a/drivers/hwmon/pmbus/ltc2978.c b/drivers/hwmon/pmbus/ltc2978.c index e05ff565ef61..de3c152a1d9a 100644 --- a/drivers/hwmon/pmbus/ltc2978.c +++ b/drivers/hwmon/pmbus/ltc2978.c | |||
@@ -57,6 +57,7 @@ enum chips { ltc2974, ltc2977, ltc2978, ltc3880, ltc3883 }; | |||
57 | #define LTC2977_ID 0x0130 | 57 | #define LTC2977_ID 0x0130 |
58 | #define LTC2978_ID_REV1 0x0121 | 58 | #define LTC2978_ID_REV1 0x0121 |
59 | #define LTC2978_ID_REV2 0x0122 | 59 | #define LTC2978_ID_REV2 0x0122 |
60 | #define LTC2978A_ID 0x0124 | ||
60 | #define LTC3880_ID 0x4000 | 61 | #define LTC3880_ID 0x4000 |
61 | #define LTC3880_ID_MASK 0xff00 | 62 | #define LTC3880_ID_MASK 0xff00 |
62 | #define LTC3883_ID 0x4300 | 63 | #define LTC3883_ID 0x4300 |
@@ -397,7 +398,8 @@ static int ltc2978_probe(struct i2c_client *client, | |||
397 | data->id = ltc2974; | 398 | data->id = ltc2974; |
398 | } else if (chip_id == LTC2977_ID) { | 399 | } else if (chip_id == LTC2977_ID) { |
399 | data->id = ltc2977; | 400 | data->id = ltc2977; |
400 | } else if (chip_id == LTC2978_ID_REV1 || chip_id == LTC2978_ID_REV2) { | 401 | } else if (chip_id == LTC2978_ID_REV1 || chip_id == LTC2978_ID_REV2 || |
402 | chip_id == LTC2978A_ID) { | ||
401 | data->id = ltc2978; | 403 | data->id = ltc2978; |
402 | } else if ((chip_id & LTC3880_ID_MASK) == LTC3880_ID) { | 404 | } else if ((chip_id & LTC3880_ID_MASK) == LTC3880_ID) { |
403 | data->id = ltc3880; | 405 | data->id = ltc3880; |