aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_sis.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-12 16:40:57 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-12 16:40:57 -0400
commit21ba0f88ae56da82a3a15fe54d729208b64c4f4b (patch)
tree17ce67f276fe3ea7284c3dc730bdd6a2ec7dfe2f /drivers/ata/pata_sis.c
parentdc690d8ef842b464f1c429a376ca16cb8dbee6ae (diff)
parent36e235901f90fb83215be43cbd8f1ca14661ea40 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits) PCI: Only build PCI syscalls on architectures that want them PCI: limit pci_get_bus_and_slot to domain 0 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 PCI: hotplug: pciehp: wait for 1 second after power off slot PCI: pci_set_power_state(): check for PM capabilities earlier PCI: cpci_hotplug: Convert to use the kthread API PCI: add pci_try_set_mwi PCI: pcie: remove SPIN_LOCK_UNLOCKED PCI: ROUND_UP macro cleanup in drivers/pci PCI: remove pci_dac_dma_... APIs PCI: pci-x-pci-express-read-control-interfaces cleanups PCI: Fix typo in include/linux/pci.h PCI: pci_ids, remove double or more empty lines PCI: pci_ids, add atheros and 3com_2 vendors PCI: pci_ids, reorder some entries PCI: i386: traps, change VENDOR to DEVICE PCI: ATM: lanai, change VENDOR to DEVICE PCI: Change all drivers to use pci_device->revision ...
Diffstat (limited to 'drivers/ata/pata_sis.c')
-rw-r--r--drivers/ata/pata_sis.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/ata/pata_sis.c b/drivers/ata/pata_sis.c
index 657b1ee2f5c1..9a829a7cbc60 100644
--- a/drivers/ata/pata_sis.c
+++ b/drivers/ata/pata_sis.c
@@ -931,9 +931,7 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
931 if (host != NULL) { 931 if (host != NULL) {
932 chipset = sets; /* Match found */ 932 chipset = sets; /* Match found */
933 if (sets->device == 0x630) { /* SIS630 */ 933 if (sets->device == 0x630) { /* SIS630 */
934 u8 host_rev; 934 if (host->revision >= 0x30) /* 630 ET */
935 pci_read_config_byte(host, PCI_REVISION_ID, &host_rev);
936 if (host_rev >= 0x30) /* 630 ET */
937 chipset = &sis100_early; 935 chipset = &sis100_early;
938 } 936 }
939 break; 937 break;
@@ -977,7 +975,6 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
977 u16 trueid; 975 u16 trueid;
978 u8 prefctl; 976 u8 prefctl;
979 u8 idecfg; 977 u8 idecfg;
980 u8 sbrev;
981 978
982 /* Try the second unmasking technique */ 979 /* Try the second unmasking technique */
983 pci_read_config_byte(pdev, 0x4a, &idecfg); 980 pci_read_config_byte(pdev, 0x4a, &idecfg);
@@ -990,11 +987,10 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
990 lpc_bridge = pci_get_slot(pdev->bus, 0x10); /* Bus 0 Dev 2 Fn 0 */ 987 lpc_bridge = pci_get_slot(pdev->bus, 0x10); /* Bus 0 Dev 2 Fn 0 */
991 if (lpc_bridge == NULL) 988 if (lpc_bridge == NULL)
992 break; 989 break;
993 pci_read_config_byte(lpc_bridge, PCI_REVISION_ID, &sbrev);
994 pci_read_config_byte(pdev, 0x49, &prefctl); 990 pci_read_config_byte(pdev, 0x49, &prefctl);
995 pci_dev_put(lpc_bridge); 991 pci_dev_put(lpc_bridge);
996 992
997 if (sbrev == 0x10 && (prefctl & 0x80)) { 993 if (lpc_bridge->revision == 0x10 && (prefctl & 0x80)) {
998 chipset = &sis133_early; 994 chipset = &sis133_early;
999 break; 995 break;
1000 } 996 }