hwmon: (lm90) Add support for additional chip revision of NCT1008
authorGuenter Roeck <linux@roeck-us.net>
Tue, 21 Dec 2021 01:02:36 +0000 (17:02 -0800)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 13 Jul 2022 15:38:17 +0000 (08:38 -0700)
The NCT1008 datasheet, Revision 3, states that its chip revision is
0x57. This matches the ADT7461A chip revision, and NCT1008 is therefore
detected as ADT7461A. In revision 6 of the datasheet, the chip revision
register is no longer documented. Multiple samples of NCT1008 were found
to report a chip revision of 0x54. As it turns out, one of the patches
submitted to add NCT1008 support to the lm90 driver already included a
check for chip revision 0x54. Unfortunately, that patch never made it into
the kernel. Remedy the situation and explicitly detect chips with revision
0x54 as NCT1008.

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

index efeb6bc0f76dec296168aec6b1d9fef117fbd446..c3ccf1fb275854659f6eff85cad17919049e91d4 100644 (file)
@@ -1558,7 +1558,12 @@ static const char *lm90_detect_analog(struct i2c_client *client, int chip_id,
                    convrate <= 0x0a)
                        name = "adt7461";
                break;
-       case 0x57:      /* ADT7461A, NCT1008 */
+       case 0x54:      /* NCT1008 */
+               if ((address == 0x4c || address == 0x4d) && !(config1 & 0x1b) &&
+                   convrate <= 0x0a)
+                       name = "nct1008";
+               break;
+       case 0x57:      /* ADT7461A, NCT1008 (datasheet rev. 3) */
                if ((address == 0x4c || address == 0x4d) && !(config1 & 0x1b) &&
                    convrate <= 0x0a)
                        name = "adt7461a";