aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYijing Wang <wangyijing@huawei.com>2015-04-28 03:01:35 -0400
committerBjorn Helgaas <bhelgaas@google.com>2015-05-26 20:05:59 -0400
commit2dead00b925eccdc13b7cd915fa0d088b91bcb52 (patch)
tree070bc6fd0365fe8883d3ff1932028f1cca76f47d
parent5ebe6afaf0057ac3eaeb98defd5456894b446d22 (diff)
PCI: mvebu: Remove mvebu_pcie_scan_bus()
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>
-rw-r--r--drivers/pci/host/pci-mvebu.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
index 1ab863551920..70aa09556ec5 100644
--- a/drivers/pci/host/pci-mvebu.c
+++ b/drivers/pci/host/pci-mvebu.c
@@ -751,21 +751,6 @@ static int mvebu_pcie_setup(int nr, struct pci_sys_data *sys)
751 return 1; 751 return 1;
752} 752}
753 753
754static struct pci_bus *mvebu_pcie_scan_bus(int nr, struct pci_sys_data *sys)
755{
756 struct mvebu_pcie *pcie = sys_to_pcie(sys);
757 struct pci_bus *bus;
758
759 bus = pci_create_root_bus(&pcie->pdev->dev, sys->busnr,
760 &mvebu_pcie_ops, sys, &sys->resources);
761 if (!bus)
762 return NULL;
763
764 pci_scan_child_bus(bus);
765
766 return bus;
767}
768
769static resource_size_t mvebu_pcie_align_resource(struct pci_dev *dev, 754static resource_size_t mvebu_pcie_align_resource(struct pci_dev *dev,
770 const struct resource *res, 755 const struct resource *res,
771 resource_size_t start, 756 resource_size_t start,
@@ -809,12 +794,11 @@ static void mvebu_pcie_enable(struct mvebu_pcie *pcie)
809 hw.nr_controllers = 1; 794 hw.nr_controllers = 1;
810 hw.private_data = (void **)&pcie; 795 hw.private_data = (void **)&pcie;
811 hw.setup = mvebu_pcie_setup; 796 hw.setup = mvebu_pcie_setup;
812 hw.scan = mvebu_pcie_scan_bus;
813 hw.map_irq = of_irq_parse_and_map_pci; 797 hw.map_irq = of_irq_parse_and_map_pci;
814 hw.ops = &mvebu_pcie_ops; 798 hw.ops = &mvebu_pcie_ops;
815 hw.align_resource = mvebu_pcie_align_resource; 799 hw.align_resource = mvebu_pcie_align_resource;
816 800
817 pci_common_init(&hw); 801 pci_common_init_dev(&pcie->pdev->dev, &hw);
818} 802}
819 803
820/* 804/*