From: Crane Cai Subject: i2c-piix4: Add AMD SB900 SMBus device ID Add new SMBus device ID for SB900 Signed-off-by: Crane Cai Signed-off-by: Jean Delvare --- Documentation/i2c/busses/i2c-piix4 | 2 ++ drivers/i2c/busses/Kconfig | 3 ++- drivers/i2c/busses/i2c-piix4.c | 8 +++++--- include/linux/pci_ids.h | 1 + 4 files changed, 10 insertions(+), 4 deletions(-) --- linux-2.6.31.orig/drivers/i2c/busses/i2c-piix4.c 2009-09-10 12:59:45.000000000 +0200 +++ linux-2.6.31/drivers/i2c/busses/i2c-piix4.c 2009-09-10 12:59:57.000000000 +0200 @@ -479,6 +479,7 @@ static struct pci_device_id piix4_ids[] { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_SB900_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_OSB4) }, { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, @@ -499,9 +500,10 @@ static int __devinit piix4_probe(struct { int retval; - if ((dev->vendor == PCI_VENDOR_ID_ATI) && - (dev->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS) && - (dev->revision >= 0x40)) + if ((dev->vendor == PCI_VENDOR_ID_ATI && + dev->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS && + dev->revision >= 0x40) || + dev->vendor == PCI_VENDOR_ID_AMD) /* base address location etc changed in SB800 */ retval = piix4_setup_sb800(dev, id); else --- linux-2.6.31.orig/include/linux/pci_ids.h 2009-09-10 12:59:45.000000000 +0200 +++ linux-2.6.31/include/linux/pci_ids.h 2009-09-10 12:59:57.000000000 +0200 @@ -537,6 +537,7 @@ #define PCI_DEVICE_ID_AMD_8131_BRIDGE 0x7450 #define PCI_DEVICE_ID_AMD_8131_APIC 0x7451 #define PCI_DEVICE_ID_AMD_8132_BRIDGE 0x7458 +#define PCI_DEVICE_ID_AMD_SB900_SMBUS 0x780b #define PCI_DEVICE_ID_AMD_CS5536_ISA 0x2090 #define PCI_DEVICE_ID_AMD_CS5536_FLASH 0x2091 #define PCI_DEVICE_ID_AMD_CS5536_AUDIO 0x2093 --- linux-2.6.31.orig/Documentation/i2c/busses/i2c-piix4 2009-06-10 05:05:27.000000000 +0200 +++ linux-2.6.31/Documentation/i2c/busses/i2c-piix4 2009-09-10 13:29:15.000000000 +0200 @@ -8,6 +8,8 @@ Supported adapters: Datasheet: Only available via NDA from ServerWorks * ATI IXP200, IXP300, IXP400, SB600, SB700 and SB800 southbridges Datasheet: Not publicly available + * AMD SB900 + Datasheet: Not publicly available * Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge Datasheet: Publicly available at the SMSC website http://www.smsc.com --- linux-2.6.31.orig/drivers/i2c/busses/Kconfig 2009-09-10 10:08:18.000000000 +0200 +++ linux-2.6.31/drivers/i2c/busses/Kconfig 2009-09-10 13:28:56.000000000 +0200 @@ -113,7 +113,7 @@ config I2C_ISCH will be called i2c-isch. config I2C_PIIX4 - tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)" + tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" depends on PCI help If you say yes to this option, support will be included for the Intel @@ -128,6 +128,7 @@ config I2C_PIIX4 ATI SB600 ATI SB700 ATI SB800 + AMD SB900 Serverworks OSB4 Serverworks CSB5 Serverworks CSB6