Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ struct hw_pci {
#ifdef CONFIG_PCI_DOMAINS
	int		domain;
#endif
	struct list_head buses;
	struct pci_ops	*ops;
	int		nr_controllers;
	int		(*setup)(int nr, struct pci_sys_data *);
+5 −6
Original line number Diff line number Diff line
@@ -423,7 +423,7 @@ static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
	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;
	int ret;
@@ -463,7 +463,7 @@ static void __init pcibios_init_hw(struct hw_pci *hw)

			busnr = sys->bus->subordinate + 1;

			list_add(&sys->node, &hw->buses);
			list_add(&sys->node, head);
		} else {
			kfree(sys);
			if (ret < 0)
@@ -475,19 +475,18 @@ static void __init pcibios_init_hw(struct hw_pci *hw)
void __init pci_common_init(struct hw_pci *hw)
{
	struct pci_sys_data *sys;

	INIT_LIST_HEAD(&hw->buses);
	LIST_HEAD(head);

	pci_add_flags(PCI_REASSIGN_ALL_RSRC);
	if (hw->preinit)
		hw->preinit();
	pcibios_init_hw(hw);
	pcibios_init_hw(hw, &head);
	if (hw->postinit)
		hw->postinit();

	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;

		if (!pci_has_flag(PCI_PROBE_ONLY)) {