diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-04-14 18:40:37 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-05-05 12:24:00 -0400 |
commit | 0df18ff366853cdf31e5238764ec5c63e6b5a398 (patch) | |
tree | c296a1e1213dac224ba40ef42dbaa56401a3da83 /arch/x86/pci/common.c | |
parent | 13a6ddb08e58a1bd344da7898c4e2f13bdf18c2f (diff) |
x86 PCI: call dmi_check_pciprobe()
this change:
| commit 08f1c192c3c32797068bfe97738babb3295bbf42
| Author: Muli Ben-Yehuda <muli@il.ibm.com>
| Date: Sun Jul 22 00:23:39 2007 +0300
|
| x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata
|
| This patch introduces struct pci_sysdata to x86 and x86-64, and
| converts the existing two users (NUMA, Calgary) to use it.
|
| This lays the groundwork for having other users of sysdata, such as
| the PCI domains work.
|
| The Calgary bits are tested, the NUMA bits just look ok.
replaces pcibios_scan_root with pci_scan_bus_parented...
but in pcibios_scan_root we have a DMI check:
dmi_check_system(pciprobe_dmi_table);
when when have several peer root buses this could be called multiple
times (which is bad), so move that call to pci_access_init().
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'arch/x86/pci/common.c')
-rw-r--r-- | arch/x86/pci/common.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c index a6d27797ef47..bfa72a9475b3 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c | |||
@@ -362,13 +362,16 @@ static struct dmi_system_id __devinitdata pciprobe_dmi_table[] = { | |||
362 | {} | 362 | {} |
363 | }; | 363 | }; |
364 | 364 | ||
365 | void __init dmi_check_pciprobe(void) | ||
366 | { | ||
367 | dmi_check_system(pciprobe_dmi_table); | ||
368 | } | ||
369 | |||
365 | struct pci_bus * __devinit pcibios_scan_root(int busnum) | 370 | struct pci_bus * __devinit pcibios_scan_root(int busnum) |
366 | { | 371 | { |
367 | struct pci_bus *bus = NULL; | 372 | struct pci_bus *bus = NULL; |
368 | struct pci_sysdata *sd; | 373 | struct pci_sysdata *sd; |
369 | 374 | ||
370 | dmi_check_system(pciprobe_dmi_table); | ||
371 | |||
372 | while ((bus = pci_find_next_bus(bus)) != NULL) { | 375 | while ((bus = pci_find_next_bus(bus)) != NULL) { |
373 | if (bus->number == busnum) { | 376 | if (bus->number == busnum) { |
374 | /* Already scanned */ | 377 | /* Already scanned */ |