PCI: mvebu: Remove mvebu_pcie_scan_bus()
authorYijing Wang <wangyijing@huawei.com>
Tue, 28 Apr 2015 07:01:35 +0000 (15:01 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 27 May 2015 00:05:59 +0000 (19:05 -0500)
After b97ea289cf6a ("PCI: Assign resources before drivers claim devices
(pci_scan_root_bus())"), pci_scan_root_bus() no longer adds the devices, so
it is equivalent to mvebu_pcie_scan_bus().

Remove mvebu_pcie_scan_bus() (the hw.scan method), so we use the generic
pci_scan_root_bus() path.  We also need to use pci_common_init_dev()
instead of pci_common_init() so we can supply the host bridge device
pointer.

[bhelgaas: changelog]
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
CC: Jason Cooper <jason@lakedaemon.net>
drivers/pci/host/pci-mvebu.c

index 1ab863551920214dd95ec45dc7f42db398195503..70aa09556ec5ce3b5866766b7c7fec7bab332b19 100644 (file)
@@ -751,21 +751,6 @@ static int mvebu_pcie_setup(int nr, struct pci_sys_data *sys)
        return 1;
 }
 
-static struct pci_bus *mvebu_pcie_scan_bus(int nr, struct pci_sys_data *sys)
-{
-       struct mvebu_pcie *pcie = sys_to_pcie(sys);
-       struct pci_bus *bus;
-
-       bus = pci_create_root_bus(&pcie->pdev->dev, sys->busnr,
-                                 &mvebu_pcie_ops, sys, &sys->resources);
-       if (!bus)
-               return NULL;
-
-       pci_scan_child_bus(bus);
-
-       return bus;
-}
-
 static resource_size_t mvebu_pcie_align_resource(struct pci_dev *dev,
                                                 const struct resource *res,
                                                 resource_size_t start,
@@ -809,12 +794,11 @@ static void mvebu_pcie_enable(struct mvebu_pcie *pcie)
        hw.nr_controllers = 1;
        hw.private_data   = (void **)&pcie;
        hw.setup          = mvebu_pcie_setup;
-       hw.scan           = mvebu_pcie_scan_bus;
        hw.map_irq        = of_irq_parse_and_map_pci;
        hw.ops            = &mvebu_pcie_ops;
        hw.align_resource = mvebu_pcie_align_resource;
 
-       pci_common_init(&hw);
+       pci_common_init_dev(&pcie->pdev->dev, &hw);
 }
 
 /*