Replace iterating over pci_root_buses with the official
pci_find_next_bus() call provided by PCI core. This allows to make
pci_root_buses private to PCI core.

Signed-off-by: Gerd Bayer <[email protected]>
---
 arch/x86/pci/i386.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index e2de26b82940..194d0fa3cec8 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -357,10 +357,10 @@ static void pcibios_allocate_rom_resources(struct pci_bus 
*bus)
 
 static int __init pcibios_assign_resources(void)
 {
-       struct pci_bus *bus;
+       struct pci_bus *bus = NULL;
 
        if (!(pci_probe & PCI_ASSIGN_ROMS))
-               list_for_each_entry(bus, &pci_root_buses, node)
+               while ((bus = pci_find_next_bus(bus)) != NULL)
                        pcibios_allocate_rom_resources(bus);
 
        pci_assign_unassigned_resources();
@@ -390,16 +390,18 @@ void pcibios_resource_survey_bus(struct pci_bus *bus)
 
 void __init pcibios_resource_survey(void)
 {
-       struct pci_bus *bus;
+       struct pci_bus *bus = NULL;
 
        DBG("PCI: Allocating resources\n");
 
-       list_for_each_entry(bus, &pci_root_buses, node)
+       while ((bus = pci_find_next_bus(bus)) != NULL)
                pcibios_allocate_bus_resources(bus);
 
-       list_for_each_entry(bus, &pci_root_buses, node)
+       bus = NULL; /* start all over */
+       while ((bus = pci_find_next_bus(bus)) != NULL)
                pcibios_allocate_resources(bus, 0);
-       list_for_each_entry(bus, &pci_root_buses, node)
+       bus = NULL; /* start all over */
+       while ((bus = pci_find_next_bus(bus)) != NULL)
                pcibios_allocate_resources(bus, 1);
 
        e820__reserve_resources_late();

-- 
2.54.0


Reply via email to