PCI: Remove pci_bus_b() and use list_for_each_entry() directly
[firefly-linux-kernel-4.4.55.git] / drivers / pci / search.c
index 3ff2ac7c14e235c564b3b8d9c4d11609a4696fe5..4a1b972efe7f2fbb76c33467de665a16004fda37 100644 (file)
@@ -54,14 +54,14 @@ pci_find_upstream_pcie_bridge(struct pci_dev *pdev)
 
 static struct pci_bus *pci_do_find_bus(struct pci_bus *bus, unsigned char busnr)
 {
-       struct pci_buschild;
-       struct list_head *tmp;
+       struct pci_bus *child;
+       struct pci_bus *tmp;
 
        if(bus->number == busnr)
                return bus;
 
-       list_for_each(tmp, &bus->children) {
-               child = pci_do_find_bus(pci_bus_b(tmp), busnr);
+       list_for_each_entry(tmp, &bus->children, node) {
+               child = pci_do_find_bus(tmp, busnr);
                if(child)
                        return child;
        }
@@ -111,7 +111,7 @@ pci_find_next_bus(const struct pci_bus *from)
        down_read(&pci_bus_sem);
        n = from ? from->node.next : pci_root_buses.next;
        if (n != &pci_root_buses)
-               b = pci_bus_b(n);
+               b = list_entry(n, struct pci_bus, node);
        up_read(&pci_bus_sem);
        return b;
 }