Re: [RFC PATCH] Re: [OOPS] w83781d during rmmod (2.5.69-bk17)

From: Philip Pokorny (
Date: Tue Jun 03 2003 - 14:43:55 EST

Martin Schlemmer wrote:
> On Mon, 2003-06-02 at 19:20, Greg KH wrote:
> Hiya Greg
> While sorda on the topic ... since I did the w83781d driver some time
> ago, I changed boards for a P4C800 (Intel 875 chipset), that have a
> ICH5 southbridge, and not a ICH4 one .... I tried to add the ID's
> to the i810 driver, and although it does load (even without the
> ID's added), the I2C bus/sensor does not show in /sys. The w83781d
> driver also load fine btw.

My system (SuperMicro) with an '875 and ICH5 reports the ICH5 as an
'801EB' which means you should be using the i2c-i801 driver not i2c-i810...

I'm also betting that you need to set 'isich4' to true in the case of
the ich5 as well...

Try the attached patch... NOTE: I have *not* consulted the Intel DOC's
on the ICH4 and ICH5 to see if the register interface has changed in
other interesting ways...

> Any ideas ? Anybody working on 875 support that I can help test ?

Unfortuntately, the SuperMicro has a Winbond '627HF chip on the ISA bus
and no other SMBus sensors, so the i2c-i801 support didn't help me much.


Philip Pokorny, Director of Engineering
Tel: 415-358-2635   Fax: 415-358-2646   Toll Free: 888-PENGUIN

diff -ru lm_sensors-2.7.0/kernel/busses/i2c-i801.c lm_sensors-2.7.0.ich5/kernel/busses/i2c-i801.c --- lm_sensors-2.7.0/kernel/busses/i2c-i801.c 2002-08-10 11:29:40.000000000 -0700 +++ lm_sensors-2.7.0.ich5/kernel/busses/i2c-i801.c 2003-06-02 21:11:32.000000000 -0700 @@ -27,6 +27,7 @@ 82801BA 2443 82801CA/CAM 2483 82801DB 24C3 (HW PEC supported, 32 byte buffer not supported) + 82801EB 24D3 (HW PEC supported, 32 byte buffer not supported) This driver supports several versions of Intel's I/O Controller Hubs (ICH). For SMBus support, they are similar to the PIIX4 and are part @@ -71,11 +72,16 @@ #define PCI_DEVICE_ID_INTEL_82801CA_SMBUS 0x2483 #define PCI_DEVICE_ID_INTEL_82801DB_SMBUS 0x24C3 +#ifndef PCI_DEVICE_ID_INTEL_82801EB_SMBUS +#define PCI_DEVICE_ID_INTEL_82801EB_SMBUS 0x24D3 +#endif + static int supported[] = {PCI_DEVICE_ID_INTEL_82801AA_3, PCI_DEVICE_ID_INTEL_82801AB_3, PCI_DEVICE_ID_INTEL_82801BA_2, PCI_DEVICE_ID_INTEL_82801CA_SMBUS, PCI_DEVICE_ID_INTEL_82801DB_SMBUS, + PCI_DEVICE_ID_INTEL_82801EB_SMBUS, 0 }; /* I801 SMBus address offsets */ @@ -214,7 +220,9 @@ error_return = -ENODEV; goto END; } - isich4 = *num == PCI_DEVICE_ID_INTEL_82801DB_SMBUS; + isich4 = (*num == PCI_DEVICE_ID_INTEL_82801DB_SMBUS) + || (*num == PCI_DEVICE_ID_INTEL_82801EB_SMBUS) + ; /* Determine the address of the SMBus areas */ if (force_addr) {

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Jun 07 2003 - 22:00:21 EST