summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2013-09-23 11:23:37 -0700
committerGuenter Roeck <linux@roeck-us.net>2013-10-18 09:12:03 -0700
commit3f08d7f49f8365d5c9050522ee733951a503e955 (patch)
tree864389fe22318856f8ee65621d1034a998dd9ece
parentc24c407e963e73d3ad18b9bc0af32cf23f37a7b0 (diff)
downloadlinux-3f08d7f49f8365d5c9050522ee733951a503e955.tar.gz
linux-3f08d7f49f8365d5c9050522ee733951a503e955.tar.bz2
linux-3f08d7f49f8365d5c9050522ee733951a503e955.zip
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/ltc29783
-rw-r--r--drivers/hwmon/pmbus/ltc2978.c4
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:
Prefix: 'ltc2977'
Addresses scanned: -
Datasheet: http://www.linear.com/product/ltc2977
- * Linear Technology LTC2978
+ * Linear Technology LTC2978, LTC2978A
Prefix: 'ltc2978'
Addresses scanned: -
Datasheet: http://www.linear.com/product/ltc2978
+ http://www.linear.com/product/ltc2978a
* Linear Technology LTC3880
Prefix: 'ltc3880'
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 };
#define LTC2977_ID 0x0130
#define LTC2978_ID_REV1 0x0121
#define LTC2978_ID_REV2 0x0122
+#define LTC2978A_ID 0x0124
#define LTC3880_ID 0x4000
#define LTC3880_ID_MASK 0xff00
#define LTC3883_ID 0x4300
@@ -397,7 +398,8 @@ static int ltc2978_probe(struct i2c_client *client,
data->id = ltc2974;
} else if (chip_id == LTC2977_ID) {
data->id = ltc2977;
- } else if (chip_id == LTC2978_ID_REV1 || chip_id == LTC2978_ID_REV2) {
+ } else if (chip_id == LTC2978_ID_REV1 || chip_id == LTC2978_ID_REV2 ||
+ chip_id == LTC2978A_ID) {
data->id = ltc2978;
} else if ((chip_id & LTC3880_ID_MASK) == LTC3880_ID) {
data->id = ltc3880;