return ret;
 
        list_splice_init(&res, &host->windows);
-       ret = pci_register_host_bridge(host);
+       ret = pci_scan_root_bus_bridge(host);
        if (ret) {
-               dev_err(dev, "failed to register host: %d\n", ret);
+               dev_err(dev, "failed to scan host: %d\n", ret);
                return ret;
        }
        p->bus = host->bus;
 
-       pci_scan_child_bus(p->bus);
        pci_fixup_irqs(pci_common_swizzle, of_irq_parse_and_map_pci);
        pci_bus_assign_resources(p->bus);
        pci_bus_add_devices(p->bus);
 
        host->dev.parent = &pdev->dev;
        host->ops = &tegra_pcie_ops;
 
-       err = pci_register_host_bridge(host);
+       err = pci_scan_root_bus_bridge(host);
        if (err < 0) {
                dev_err(dev, "failed to register host: %d\n", err);
                goto disable_msi;
        }
 
-       pci_scan_child_bus(host->bus);
-
        pci_fixup_irqs(pci_common_swizzle, tegra_pcie_map_irq);
        pci_bus_size_bridges(host->bus);
        pci_bus_assign_resources(host->bus);
 
        dev_set_msi_domain(&bus->dev, d);
 }
 
-int pci_register_host_bridge(struct pci_host_bridge *bridge)
+static int pci_register_host_bridge(struct pci_host_bridge *bridge)
 {
        struct device *parent = bridge->dev.parent;
        struct resource_entry *window, *n;
        kfree(bus);
        return err;
 }
-EXPORT_SYMBOL(pci_register_host_bridge);
 
 static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent,
                                           struct pci_dev *bridge, int busnr)
 
 struct pci_host_bridge *devm_pci_alloc_host_bridge(struct device *dev,
                                                   size_t priv);
 void pci_free_host_bridge(struct pci_host_bridge *bridge);
-int pci_register_host_bridge(struct pci_host_bridge *bridge);
 struct pci_host_bridge *pci_find_host_bridge(struct pci_bus *bus);
 
 void pci_set_host_bridge_release(struct pci_host_bridge *bridge,