Commit 90cf2418 authored by Russell King's avatar Russell King

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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 43ba990b
...@@ -19,7 +19,6 @@ struct hw_pci { ...@@ -19,7 +19,6 @@ struct hw_pci {
#ifdef CONFIG_PCI_DOMAINS #ifdef CONFIG_PCI_DOMAINS
int domain; int domain;
#endif #endif
struct list_head buses;
struct pci_ops *ops; struct pci_ops *ops;
int nr_controllers; int nr_controllers;
int (*setup)(int nr, struct pci_sys_data *); int (*setup)(int nr, struct pci_sys_data *);
......
...@@ -423,7 +423,7 @@ static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) ...@@ -423,7 +423,7 @@ static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return irq; return irq;
} }
static void __init pcibios_init_hw(struct hw_pci *hw) static void __init pcibios_init_hw(struct hw_pci *hw, struct list_head *head)
{ {
struct pci_sys_data *sys = NULL; struct pci_sys_data *sys = NULL;
int ret; int ret;
...@@ -463,7 +463,7 @@ static void __init pcibios_init_hw(struct hw_pci *hw) ...@@ -463,7 +463,7 @@ static void __init pcibios_init_hw(struct hw_pci *hw)
busnr = sys->bus->subordinate + 1; busnr = sys->bus->subordinate + 1;
list_add(&sys->node, &hw->buses); list_add(&sys->node, head);
} else { } else {
kfree(sys); kfree(sys);
if (ret < 0) if (ret < 0)
...@@ -475,19 +475,18 @@ static void __init pcibios_init_hw(struct hw_pci *hw) ...@@ -475,19 +475,18 @@ static void __init pcibios_init_hw(struct hw_pci *hw)
void __init pci_common_init(struct hw_pci *hw) void __init pci_common_init(struct hw_pci *hw)
{ {
struct pci_sys_data *sys; struct pci_sys_data *sys;
LIST_HEAD(head);
INIT_LIST_HEAD(&hw->buses);
pci_add_flags(PCI_REASSIGN_ALL_RSRC); pci_add_flags(PCI_REASSIGN_ALL_RSRC);
if (hw->preinit) if (hw->preinit)
hw->preinit(); hw->preinit();
pcibios_init_hw(hw); pcibios_init_hw(hw, &head);
if (hw->postinit) if (hw->postinit)
hw->postinit(); hw->postinit();
pci_fixup_irqs(pcibios_swizzle, pcibios_map_irq); pci_fixup_irqs(pcibios_swizzle, pcibios_map_irq);
list_for_each_entry(sys, &hw->buses, node) { list_for_each_entry(sys, &head, node) {
struct pci_bus *bus = sys->bus; struct pci_bus *bus = sys->bus;
if (!pci_has_flag(PCI_PROBE_ONLY)) { if (!pci_has_flag(PCI_PROBE_ONLY)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment