summaryrefslogtreecommitdiffstats
path: root/include/asm-x86/pci_32.h
diff options
context:
space:
mode:
authorJeff Garzik2007-10-11 22:58:30 +0200
committerGreg Kroah-Hartman2007-10-13 00:03:19 +0200
commita79e4198d1effbba040e9bf407a95fc9b3418789 (patch)
treebbfeed15db3a03c3e7f50ae36f18c017fb940b9e /include/asm-x86/pci_32.h
parentPCI: Add 'nodomains' boot option, and pci_domains_supported global (diff)
downloadkernel-qcow2-linux-a79e4198d1effbba040e9bf407a95fc9b3418789.tar.gz
kernel-qcow2-linux-a79e4198d1effbba040e9bf407a95fc9b3418789.tar.xz
kernel-qcow2-linux-a79e4198d1effbba040e9bf407a95fc9b3418789.zip
PCI: X86: Introduce and enable PCI domain support
* fix bug in pci_read() and pci_write() which prevented PCI domain support from working (hardcoded domain 0). * unconditionally enable CONFIG_PCI_DOMAINS * implement pci_domain_nr() and pci_proc_domain(), as required of all arches when CONFIG_PCI_DOMAINS is enabled. * store domain in struct pci_sysdata, as assigned by ACPI * support "pci=nodomains" Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/asm-x86/pci_32.h')
-rw-r--r--include/asm-x86/pci_32.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-x86/pci_32.h b/include/asm-x86/pci_32.h
index 4fcacc711385..0d91605cd1e2 100644
--- a/include/asm-x86/pci_32.h
+++ b/include/asm-x86/pci_32.h
@@ -5,12 +5,24 @@
#ifdef __KERNEL__
struct pci_sysdata {
+ int domain; /* PCI domain */
int node; /* NUMA node */
};
/* scan a bus after allocating a pci_sysdata for it */
extern struct pci_bus *pci_scan_bus_with_sysdata(int busno);
+static inline int pci_domain_nr(struct pci_bus *bus)
+{
+ struct pci_sysdata *sd = bus->sysdata;
+ return sd->domain;
+}
+
+static inline int pci_proc_domain(struct pci_bus *bus)
+{
+ return pci_domain_nr(bus);
+}
+
#include <linux/mm.h> /* for struct page */
/* Can be used to override the logic in pci_scan_bus for skipping