aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/pci-aardvark.c
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>2018-06-29 05:16:20 -0400
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2018-07-06 08:11:35 -0400
commitc8e144f8ab00e6c4a070a932ef9c57db09aa41cf (patch)
tree0199677dd540b184ffb20ddb818f551b5643ac52 /drivers/pci/controller/pci-aardvark.c
parent91a2968e245d6ba616db37001fa1a043078b1a65 (diff)
PCI: aardvark: Convert to use pci_host_probe()
Part of advk_pcie_probe() is exactly an open-coded version of pci_host_probe(). So instead of duplicating this code, use pci_host_probe() directly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [lorenzo.pieralisi@arm.com: updated commit log] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Diffstat (limited to 'drivers/pci/controller/pci-aardvark.c')
-rw-r--r--drivers/pci/controller/pci-aardvark.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 10543ed7b500..d5030cd06197 100644
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -843,7 +843,6 @@ static int advk_pcie_probe(struct platform_device *pdev)
843 struct device *dev = &pdev->dev; 843 struct device *dev = &pdev->dev;
844 struct advk_pcie *pcie; 844 struct advk_pcie *pcie;
845 struct resource *res; 845 struct resource *res;
846 struct pci_bus *bus, *child;
847 struct pci_host_bridge *bridge; 846 struct pci_host_bridge *bridge;
848 int ret, irq; 847 int ret, irq;
849 848
@@ -897,22 +896,13 @@ static int advk_pcie_probe(struct platform_device *pdev)
897 bridge->map_irq = of_irq_parse_and_map_pci; 896 bridge->map_irq = of_irq_parse_and_map_pci;
898 bridge->swizzle_irq = pci_common_swizzle; 897 bridge->swizzle_irq = pci_common_swizzle;
899 898
900 ret = pci_scan_root_bus_bridge(bridge); 899 ret = pci_host_probe(bridge);
901 if (ret < 0) { 900 if (ret < 0) {
902 advk_pcie_remove_msi_irq_domain(pcie); 901 advk_pcie_remove_msi_irq_domain(pcie);
903 advk_pcie_remove_irq_domain(pcie); 902 advk_pcie_remove_irq_domain(pcie);
904 return ret; 903 return ret;
905 } 904 }
906 905
907 bus = bridge->bus;
908
909 pci_bus_size_bridges(bus);
910 pci_bus_assign_resources(bus);
911
912 list_for_each_entry(child, &bus->children, node)
913 pcie_bus_configure_settings(child);
914
915 pci_bus_add_devices(bus);
916 return 0; 906 return 0;
917} 907}
918 908