From: Bhavana Nagendra <bnagendr@redhat.com> Date: Thu, 16 Aug 2007 15:09:44 -0400 Subject: [i2c] SB600/700/800 use same SMBus controller devID Message-id: 46C4A0F8.3080200@redhat.com O-Subject: Re: [RHEL5.1 PATCH] AMD/ATI SB600/700/800 use same SMBus controller devID Bugzilla: 252286 Resolves BZ 252286 The SB600, SB700 and SB800 use the same SMBus device ID, which is 0x4385. The patch also adds SB800 support by renaming PCI_DEVICE_ID_ATI_IXP600_SMBUS to PCI_DEVICE_ID_ATI_SBX00_SMBUS. Brew build: http://brewweb.devel.redhat.com/brew/taskinfo?taskID=923224 Prarit has tested this build on SB600 system and I have done sanity checks on my systems. Upstream link to the thread with discussion regarding the patch. Jean Delvare appears pleased that the device IDs are simplified. http://marc.info/?t=118714461500007&r=1&w=2 Acked-by: Prarit Bhargava <prarit@redhat.com> --- Documentation/i2c/busses/i2c-piix4 | 2 +- drivers/i2c/busses/Kconfig | 2 ++ drivers/i2c/busses/i2c-piix4.c | 6 ++---- include/linux/pci_ids.h | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Documentation/i2c/busses/i2c-piix4 b/Documentation/i2c/busses/i2c-piix4 index fa0c786..cf6b6cb 100644 --- a/Documentation/i2c/busses/i2c-piix4 +++ b/Documentation/i2c/busses/i2c-piix4 @@ -6,7 +6,7 @@ Supported adapters: Datasheet: Publicly available at the Intel website * ServerWorks OSB4, CSB5, CSB6 and HT-1000 southbridges Datasheet: Only available via NDA from ServerWorks - * ATI IXP200, IXP300, IXP400, SB600 and SB700 southbridges + * ATI IXP200, IXP300, IXP400, SB600, SB700 and SB800 southbridges Datasheet: Not publicly available * Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge Datasheet: Publicly available at the SMSC website http://www.smsc.com diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index 054f7c5..27edbb7 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -177,6 +177,8 @@ config I2C_PIIX4 ATI IXP300 ATI IXP400 ATI SB600 + ATI SB700 + ATI SB800 Serverworks OSB4 Serverworks CSB5 Serverworks CSB6 diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index c286843..1907914 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -23,7 +23,7 @@ Supports: Intel PIIX4, 440MX Serverworks OSB4, CSB5, CSB6, HT-1000 - ATI IXP200, IXP300, IXP400, SB600, SB700 + ATI IXP200, IXP300, IXP400, SB600, SB700, SB800 SMSC Victory66 Note: we assume there can only be one device, with one SMBus interface. @@ -397,9 +397,7 @@ static struct pci_device_id piix4_ids[] = { .driver_data = 0 }, { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS), .driver_data = 0 }, - { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SMBUS), - .driver_data = 0 }, - { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SMBUS), + { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS), .driver_data = 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_OSB4), .driver_data = 0 }, diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 1911de0..d0093fa 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -364,11 +364,10 @@ #define PCI_DEVICE_ID_ATI_IXP400_SATA 0x4379 #define PCI_DEVICE_ID_ATI_IXP400_SATA2 0x437a #define PCI_DEVICE_ID_ATI_IXP600_SATA 0x4380 -#define PCI_DEVICE_ID_ATI_IXP600_SMBUS 0x4385 +#define PCI_DEVICE_ID_ATI_SBX00_SMBUS 0x4385 #define PCI_DEVICE_ID_ATI_IXP600_IDE 0x438c #define PCI_DEVICE_ID_ATI_IXP700_SATA 0x4390 #define PCI_DEVICE_ID_ATI_IXP700_IDE 0x439c -#define PCI_DEVICE_ID_ATI_IXP700_SMBUS 0x4395 #define PCI_VENDOR_ID_VLSI 0x1004 #define PCI_DEVICE_ID_VLSI_82C592 0x0005 -- 1.5.3.5.645.gbb47