diff --git a/nct6687.c b/nct6687.c index 3a6385b..f3b1ad1 100644 --- a/nct6687.c +++ b/nct6687.c @@ -15,6 +15,7 @@ * * Chip #voltage #fan #pwm #temp chip ID * nct6683 14(1) 8 8 7 0xc732 (partial support) + * nct6686d 21(1) 16 8 32(1) 0xd440 * nct6687 14(1) 8 8 7 0xd592 * * Notes: @@ -42,6 +43,7 @@ enum kinds { nct6683, + nct6686, nct6687 }; @@ -56,11 +58,13 @@ MODULE_PARM_DESC(manual, "Set voltage input and voltage label configured with ex static const char *const nct6687_device_names[] = { "nct6683", + "nct6686", "nct6687", }; static const char *const nct6687_chip_names[] = { "NCT6683D", + "NCT6686D", "NCT6687D", }; @@ -81,6 +85,7 @@ static const char *const nct6687_chip_names[] = { #define SIO_REG_ADDR 0x60 /* Logical device address (2 bytes) */ #define SIO_NCT6683D_ID 0xc732 +#define SIO_NCT6686_ID 0xd440 #define SIO_NCT6687_ID 0xd451 // 0xd592 #define SIO_NCT6687D_ID 0xd592 @@ -1096,6 +1101,8 @@ static int __init nct6687_find(int sioaddr, struct nct6687_sio_data *sio_data) if (val == SIO_NCT6683D_ID) { sio_data->kind = nct6683; + } else if (val == SIO_NCT6686_ID) { + sio_data->kind = nct6686; } else if (val == SIO_NCT6687_ID || val == SIO_NCT6687D_ID || force) { sio_data->kind = nct6687;