hwmon: (pmbus/ltc2978): Add support for LTC2978A
authorGuenter Roeck <linux@roeck-us.net>
Mon, 23 Sep 2013 18:23:37 +0000 (11:23 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 18 Oct 2013 16:12:03 +0000 (09:12 -0700)
Detect LTC2978A chip ID. Treat it as LC2978.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/ltc2978
drivers/hwmon/pmbus/ltc2978.c

index 6934936..a0546fc 100644 (file)
@@ -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: -
index e05ff56..de3c152 100644 (file)
@@ -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;