Merge tag 'dlm-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm
[deliverable/linux.git] / drivers / hwmon / jc42.c
index 996bdfd5cf25f93679857407951253d1f1e5b5ca..9d5f85f3384fae0f0dd44e1d34035780dcd858b4 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/hwmon-sysfs.h>
 #include <linux/err.h>
 #include <linux/mutex.h>
+#include <linux/of.h>
 
 /* Addresses to scan */
 static const unsigned short normal_i2c[] = {
@@ -87,11 +88,14 @@ static const unsigned short normal_i2c[] = {
 #define AT30TSE004_DEVID_MASK  0xffff
 
 /* IDT */
-#define TS3000B3_DEVID         0x2903  /* Also matches TSE2002B3 */
-#define TS3000B3_DEVID_MASK    0xffff
+#define TSE2004_DEVID          0x2200
+#define TSE2004_DEVID_MASK     0xff00
 
-#define TS3000GB2_DEVID                0x2912  /* Also matches TSE2002GB2 */
-#define TS3000GB2_DEVID_MASK   0xffff
+#define TS3000_DEVID           0x2900  /* Also matches TSE2002 */
+#define TS3000_DEVID_MASK      0xff00
+
+#define TS3001_DEVID           0x3000
+#define TS3001_DEVID_MASK      0xff00
 
 /* Maxim */
 #define MAX6604_DEVID          0x3e00
@@ -101,6 +105,9 @@ static const unsigned short normal_i2c[] = {
 #define MCP9804_DEVID          0x0200
 #define MCP9804_DEVID_MASK     0xfffc
 
+#define MCP9808_DEVID          0x0400
+#define MCP9808_DEVID_MASK     0xfffc
+
 #define MCP98242_DEVID         0x2000
 #define MCP98242_DEVID_MASK    0xfffc
 
@@ -152,10 +159,12 @@ static struct jc42_chips jc42_chips[] = {
        { ADT_MANID, ADT7408_DEVID, ADT7408_DEVID_MASK },
        { ATMEL_MANID, AT30TS00_DEVID, AT30TS00_DEVID_MASK },
        { ATMEL_MANID2, AT30TSE004_DEVID, AT30TSE004_DEVID_MASK },
-       { IDT_MANID, TS3000B3_DEVID, TS3000B3_DEVID_MASK },
-       { IDT_MANID, TS3000GB2_DEVID, TS3000GB2_DEVID_MASK },
+       { IDT_MANID, TSE2004_DEVID, TSE2004_DEVID_MASK },
+       { IDT_MANID, TS3000_DEVID, TS3000_DEVID_MASK },
+       { IDT_MANID, TS3001_DEVID, TS3001_DEVID_MASK },
        { MAX_MANID, MAX6604_DEVID, MAX6604_DEVID_MASK },
        { MCP_MANID, MCP9804_DEVID, MCP9804_DEVID_MASK },
+       { MCP_MANID, MCP9808_DEVID, MCP9808_DEVID_MASK },
        { MCP_MANID, MCP98242_DEVID, MCP98242_DEVID_MASK },
        { MCP_MANID, MCP98243_DEVID, MCP98243_DEVID_MASK },
        { MCP_MANID, MCP98244_DEVID, MCP98244_DEVID_MASK },
@@ -533,11 +542,20 @@ static const struct i2c_device_id jc42_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, jc42_id);
 
+#ifdef CONFIG_OF
+static const struct of_device_id jc42_of_ids[] = {
+       { .compatible = "jedec,jc-42.4-temp", },
+       { }
+};
+MODULE_DEVICE_TABLE(of, jc42_of_ids);
+#endif
+
 static struct i2c_driver jc42_driver = {
-       .class          = I2C_CLASS_SPD,
+       .class          = I2C_CLASS_SPD | I2C_CLASS_HWMON,
        .driver = {
                .name   = "jc42",
                .pm = JC42_DEV_PM_OPS,
+               .of_match_table = of_match_ptr(jc42_of_ids),
        },
        .probe          = jc42_probe,
        .remove         = jc42_remove,
This page took 0.043321 seconds and 5 git commands to generate.