diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-12 16:40:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-12 16:40:57 -0400 |
commit | 21ba0f88ae56da82a3a15fe54d729208b64c4f4b (patch) | |
tree | 17ce67f276fe3ea7284c3dc730bdd6a2ec7dfe2f /drivers/ata/pata_sis.c | |
parent | dc690d8ef842b464f1c429a376ca16cb8dbee6ae (diff) | |
parent | 36e235901f90fb83215be43cbd8f1ca14661ea40 (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.c | 8 |
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 | } |