summary refs log tree commit diff
path: root/arch/x86/pci/direct.c
diff options
context:
space:
mode:
authorRobert Richter <robert.richter@amd.com>2008-06-12 20:19:23 +0200
committerIngo Molnar <mingo@elte.hu>2008-07-08 07:47:39 +0200
commit3a27dd1ce5de08e21e0266ddf00e6f1f843bfe8b (patch)
treeb72316cfbe10d1f955a0cb9553879fb2bb14344b /arch/x86/pci/direct.c
parent24bfdca7b7da971ef9a483303a096ac6d4b3a02c (diff)
downloadlinux-3a27dd1ce5de08e21e0266ddf00e6f1f843bfe8b.tar.gz
x86: Move PCI IO ECS code to x86/pci
"Form follows function". Code is now where it belongs to.

Signed-off-by: Robert Richter <robert.richter@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/pci/direct.c')
-rw-r--r--arch/x86/pci/direct.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/x86/pci/direct.c b/arch/x86/pci/direct.c
index 27d61b63def6..9915293500fb 100644
--- a/arch/x86/pci/direct.c
+++ b/arch/x86/pci/direct.c
@@ -265,14 +265,16 @@ void __init pci_direct_init(int type)
 		 type);
 	if (type == 1) {
 		raw_pci_ops = &pci_direct_conf1;
-		if (!raw_pci_ext_ops && cpu_has_pci_ext_cfg) {
-			printk(KERN_INFO "PCI: Using configuration type 1 "
-			       "for extended access\n");
-			raw_pci_ext_ops = &pci_direct_conf1;
-		}
-	} else {
-		raw_pci_ops = &pci_direct_conf2;
+		if (raw_pci_ext_ops)
+			return;
+		if (!(pci_probe & PCI_HAS_IO_ECS))
+			return;
+		printk(KERN_INFO "PCI: Using configuration type 1 "
+		       "for extended access\n");
+		raw_pci_ext_ops = &pci_direct_conf1;
+		return;
 	}
+	raw_pci_ops = &pci_direct_conf2;
 }
 
 int __init pci_direct_probe(void)