]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (f71882fg) Add F81968 support
authorJi-Ze Hong (Peter Hong) <peter_hong@fintek.com.tw>
Tue, 23 Dec 2025 05:10:40 +0000 (13:10 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Sat, 31 Jan 2026 15:38:32 +0000 (07:38 -0800)
Add hardware monitoring support for the Fintek F81968 Super I/O chip.
It is fully compatible with F81866.

Several products share compatibility with the F81866. To better distinguish
between them, ensure that the Product ID is displayed when the device is
probed.

Signed-off-by: Ji-Ze Hong (Peter Hong) <peter_hong@fintek.com.tw>
Link: https://lore.kernel.org/r/20251223051040.10227-1-peter_hong@fintek.com.tw
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/f71882fg.c

index df83f9866fbcf7d5899d3b96ad826fc20d457cc2..204059d2de6cd24ed8463260cde9fe3e5cae187e 100644 (file)
@@ -51,6 +51,7 @@
 #define SIO_F81866_ID          0x1010  /* Chipset ID */
 #define SIO_F71858AD_ID                0x0903  /* Chipset ID */
 #define SIO_F81966_ID          0x1502  /* Chipset ID */
+#define SIO_F81968_ID          0x1806  /* Chipset ID */
 
 #define REGION_LENGTH          8
 #define ADDR_REG_OFFSET                5
@@ -2570,6 +2571,7 @@ static int __init f71882fg_find(int sioaddr, struct f71882fg_sio_data *sio_data)
                break;
        case SIO_F81866_ID:
        case SIO_F81966_ID:
+       case SIO_F81968_ID:
                sio_data->type = f81866a;
                break;
        default:
@@ -2599,9 +2601,9 @@ static int __init f71882fg_find(int sioaddr, struct f71882fg_sio_data *sio_data)
        address &= ~(REGION_LENGTH - 1);        /* Ignore 3 LSB */
 
        err = address;
-       pr_info("Found %s chip at %#x, revision %d\n",
+       pr_info("Found %s chip at %#x, revision %d, devid: %04x\n",
                f71882fg_names[sio_data->type], (unsigned int)address,
-               (int)superio_inb(sioaddr, SIO_REG_DEVREV));
+               (int)superio_inb(sioaddr, SIO_REG_DEVREV), devid);
 exit:
        superio_exit(sioaddr);
        return err;