diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-03-10 09:21:06 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-05-16 10:24:12 -0400 |
commit | 90cf2418f5c45192bac1ac57af62f61dbac92886 (patch) | |
tree | 6c59ff9e0c7e12e16eb4657318074cd00797036e /arch/arm/kernel/bios32.c | |
parent | 43ba990bb7bf741f4b2f405b35dc02823d68a682 (diff) |
ARM: PCI: remove per-pci_hw list of buses
No one uses the per-hw list of buses, so get rid of this. Instead,
build the list locally.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/bios32.c')
-rw-r--r-- | arch/arm/kernel/bios32.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index 00a506f13f70..25552508c3fd 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c | |||
@@ -423,7 +423,7 @@ static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) | |||
423 | return irq; | 423 | return irq; |
424 | } | 424 | } |
425 | 425 | ||
426 | static void __init pcibios_init_hw(struct hw_pci *hw) | 426 | static void __init pcibios_init_hw(struct hw_pci *hw, struct list_head *head) |
427 | { | 427 | { |
428 | struct pci_sys_data *sys = NULL; | 428 | struct pci_sys_data *sys = NULL; |
429 | int ret; | 429 | int ret; |
@@ -463,7 +463,7 @@ static void __init pcibios_init_hw(struct hw_pci *hw) | |||
463 | 463 | ||
464 | busnr = sys->bus->subordinate + 1; | 464 | busnr = sys->bus->subordinate + 1; |
465 | 465 | ||
466 | list_add(&sys->node, &hw->buses); | 466 | list_add(&sys->node, head); |
467 | } else { | 467 | } else { |
468 | kfree(sys); | 468 | kfree(sys); |
469 | if (ret < 0) | 469 | if (ret < 0) |
@@ -475,19 +475,18 @@ static void __init pcibios_init_hw(struct hw_pci *hw) | |||
475 | void __init pci_common_init(struct hw_pci *hw) | 475 | void __init pci_common_init(struct hw_pci *hw) |
476 | { | 476 | { |
477 | struct pci_sys_data *sys; | 477 | struct pci_sys_data *sys; |
478 | 478 | LIST_HEAD(head); | |
479 | INIT_LIST_HEAD(&hw->buses); | ||
480 | 479 | ||
481 | pci_add_flags(PCI_REASSIGN_ALL_RSRC); | 480 | pci_add_flags(PCI_REASSIGN_ALL_RSRC); |
482 | if (hw->preinit) | 481 | if (hw->preinit) |
483 | hw->preinit(); | 482 | hw->preinit(); |
484 | pcibios_init_hw(hw); | 483 | pcibios_init_hw(hw, &head); |
485 | if (hw->postinit) | 484 | if (hw->postinit) |
486 | hw->postinit(); | 485 | hw->postinit(); |
487 | 486 | ||
488 | pci_fixup_irqs(pcibios_swizzle, pcibios_map_irq); | 487 | pci_fixup_irqs(pcibios_swizzle, pcibios_map_irq); |
489 | 488 | ||
490 | list_for_each_entry(sys, &hw->buses, node) { | 489 | list_for_each_entry(sys, &head, node) { |
491 | struct pci_bus *bus = sys->bus; | 490 | struct pci_bus *bus = sys->bus; |
492 | 491 | ||
493 | if (!pci_has_flag(PCI_PROBE_ONLY)) { | 492 | if (!pci_has_flag(PCI_PROBE_ONLY)) { |