diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-10-11 16:58:30 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-12 18:03:19 -0400 |
commit | a79e4198d1effbba040e9bf407a95fc9b3418789 (patch) | |
tree | bbfeed15db3a03c3e7f50ae36f18c017fb940b9e /arch/x86/pci/common.c | |
parent | 32a2eea795643929a43cbbba00d8c4a176b309bf (diff) |
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 'arch/x86/pci/common.c')
-rw-r--r-- | arch/x86/pci/common.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c index 7d6a9a5aa7cd..2d71bbc411d2 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c | |||
@@ -29,12 +29,14 @@ struct pci_raw_ops *raw_pci_ops; | |||
29 | 29 | ||
30 | static int pci_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value) | 30 | static int pci_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value) |
31 | { | 31 | { |
32 | return raw_pci_ops->read(0, bus->number, devfn, where, size, value); | 32 | return raw_pci_ops->read(pci_domain_nr(bus), bus->number, |
33 | devfn, where, size, value); | ||
33 | } | 34 | } |
34 | 35 | ||
35 | static int pci_write(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 value) | 36 | static int pci_write(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 value) |
36 | { | 37 | { |
37 | return raw_pci_ops->write(0, bus->number, devfn, where, size, value); | 38 | return raw_pci_ops->write(pci_domain_nr(bus), bus->number, |
39 | devfn, where, size, value); | ||
38 | } | 40 | } |
39 | 41 | ||
40 | struct pci_ops pci_root_ops = { | 42 | struct pci_ops pci_root_ops = { |