From: Rudolf Marek Subject: hwmon/it87: Add IT8726F support Add support for IT8726F chip driver, which is just same as IT8716F with additional glue logic for AMD power sequencing. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare --- Documentation/hwmon/it87 | 9 +++++++-- drivers/hwmon/Kconfig | 2 +- drivers/hwmon/it87.c | 7 ++++++- 3 files changed, 14 insertions(+), 4 deletions(-) --- linux-2.6.22-rc3.orig/Documentation/hwmon/it87 2007-05-16 08:55:56.000000000 +0200 +++ linux-2.6.22-rc3/Documentation/hwmon/it87 2007-05-28 08:25:18.000000000 +0200 @@ -12,11 +12,12 @@ Supported chips: Addresses scanned: from Super I/O config space (8 I/O ports) Datasheet: Publicly available at the ITE website http://www.ite.com.tw/ - * IT8716F + * IT8716F/IT8726F Prefix: 'it8716' Addresses scanned: from Super I/O config space (8 I/O ports) Datasheet: Publicly available at the ITE website http://www.ite.com.tw/product_info/file/pc/IT8716F_V0.3.ZIP + http://www.ite.com.tw/product_info/file/pc/IT8726F_V0.3.pdf * IT8718F Prefix: 'it8718' Addresses scanned: from Super I/O config space (8 I/O ports) @@ -68,7 +69,7 @@ Description ----------- This driver implements support for the IT8705F, IT8712F, IT8716F, -IT8718F and SiS950 chips. +IT8718F, IT8726F and SiS950 chips. These chips are 'Super I/O chips', supporting floppy disks, infrared ports, joysticks and other miscellaneous stuff. For hardware monitoring, they @@ -97,6 +98,10 @@ clock divider mess) but not compatible w revisions. For now, the driver only uses the 16-bit mode on the IT8716F and IT8718F. +The IT8726F is just bit enhanced IT8716F with additional hardware +for AMD power sequencing. Therefore the chip will appear as IT8716F +to userspace applications. + Temperatures are measured in degrees Celsius. An alarm is triggered once when the Overtemperature Shutdown limit is crossed. --- linux-2.6.22-rc3.orig/drivers/hwmon/it87.c 2007-05-16 08:55:56.000000000 +0200 +++ linux-2.6.22-rc3/drivers/hwmon/it87.c 2007-05-28 08:25:18.000000000 +0200 @@ -6,6 +6,7 @@ IT8712F Super I/O chip w/LPC interface IT8716F Super I/O chip w/LPC interface IT8718F Super I/O chip w/LPC interface + IT8726F Super I/O chip w/LPC interface Sis950 A clone of the IT8705F Copyright (C) 2001 Chris Gauthron @@ -97,6 +98,7 @@ superio_exit(void) #define IT8705F_DEVID 0x8705 #define IT8716F_DEVID 0x8716 #define IT8718F_DEVID 0x8718 +#define IT8726F_DEVID 0x8726 #define IT87_ACT_REG 0x30 #define IT87_BASE_REG 0x60 @@ -885,6 +887,7 @@ static int __init it87_find(unsigned sho chip_type = superio_inw(DEVID); if (chip_type != IT8712F_DEVID && chip_type != IT8716F_DEVID + && chip_type != IT8726F_DEVID && chip_type != IT8718F_DEVID && chip_type != IT8705F_DEVID) goto exit; @@ -965,6 +968,8 @@ static int it87_detect(struct i2c_adapte data->type = it8712; name = "it8712"; break; + case IT8726F_DEVID: + /* fall through */ case IT8716F_DEVID: data->type = it8716; name = "it8716"; @@ -1389,7 +1394,7 @@ static void __exit sm_it87_exit(void) MODULE_AUTHOR("Chris Gauthron , " "Jean Delvare "); -MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F, SiS950 driver"); +MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F/8726F, 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); --- linux-2.6.22-rc3.orig/drivers/hwmon/Kconfig 2007-05-27 16:23:54.000000000 +0200 +++ linux-2.6.22-rc3/drivers/hwmon/Kconfig 2007-05-28 08:31:42.000000000 +0200 @@ -255,7 +255,7 @@ config SENSORS_IT87 select HWMON_VID help If you say yes here you get support for ITE IT8705F, IT8712F, - IT8716F and IT8718F sensor chips, and the SiS960 clone. + IT8716F, IT8718F and IT8726F sensor chips, and the SiS960 clone. This driver can also be built as a module. If so, the module will be called it87.