--- 2.6.18-rc47it87.c 2006-06-18 03:49:35.000000000 +0200 +++ 2.6.18-rc4-modified/it87.c 2006-08-20 18:17:43.000000000 +0200 @@ -50,7 +50,7 @@ static unsigned short isa_address; /* Insmod parameters */ -I2C_CLIENT_INSMOD_2(it87, it8712); +I2C_CLIENT_INSMOD_3(it87, it8712, it8716); #define REG 0x2e /* The register to read/write */ #define DEV 0x07 /* Register: Logical device select */ @@ -100,6 +100,7 @@ } #define IT8712F_DEVID 0x8712 +#define IT8716F_DEVID 0x8716 #define IT8705F_DEVID 0x8705 #define IT87_ACT_REG 0x30 #define IT87_BASE_REG 0x60 @@ -720,6 +721,7 @@ superio_enter(); chip_type = superio_inw(DEVID); if (chip_type != IT8712F_DEVID + && chip_type != IT8716F_DEVID && chip_type != IT8705F_DEVID) goto exit; @@ -801,6 +803,8 @@ kind = it87; if ((is_isa) && (chip_type == IT8712F_DEVID)) kind = it8712; + else if ((is_isa) && (chip_type == IT8716F_DEVID)) + kind = it8716; } else { if (kind == 0) @@ -817,6 +821,8 @@ name = "it87"; } else if (kind == it8712) { name = "it8712"; + } else if (kind == it8716) { + name = "it8716"; } /* Fill in the remaining client fields and put it into the global list */ @@ -1193,7 +1199,7 @@ MODULE_AUTHOR("Chris Gauthron "); -MODULE_DESCRIPTION("IT8705F, IT8712F, Sis950 driver"); +MODULE_DESCRIPTION("IT8705F, IT8712F, IT8716F, Sis950 driver"); module_param(update_vbat, bool, 0); MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value"); module_param(fix_pwm_polarity, bool, 0);