aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHonghui Zhang <honghui.zhang@mediatek.com>2018-10-15 04:08:55 -0400
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2018-10-17 10:36:01 -0400
commit57cb3152b360eabf30d498515dcf9049f3c7b9df (patch)
tree786b8bb574f2119cb451630189f0c3c65895cd03
parent88c0e230bb4a79680ee5f05ddba879d436f98f13 (diff)
PCI: mediatek: Convert to use pci_host_probe()
Part of mtk_pcie_register_host() is an open-coded version of pci_host_probe(). So instead of duplicating this code, use pci_host_probe() directly and remove mtk_pcie_register_host(). Signed-off-by: Honghui Zhang <honghui.zhang@mediatek.com> [lorenzo.pieralisi@arm.com: commit log changes] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Ryder Lee <ryder.lee@mediatek.com>
-rw-r--r--drivers/pci/controller/pcie-mediatek.c37
1 files changed, 8 insertions, 29 deletions
diff --git a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie-mediatek.c
index 547e4c76edbb..6f0849049041 100644
--- a/drivers/pci/controller/pcie-mediatek.c
+++ b/drivers/pci/controller/pcie-mediatek.c
@@ -1121,34 +1121,6 @@ static int mtk_pcie_request_resources(struct mtk_pcie *pcie)
1121 return 0; 1121 return 0;
1122} 1122}
1123 1123
1124static int mtk_pcie_register_host(struct pci_host_bridge *host)
1125{
1126 struct mtk_pcie *pcie = pci_host_bridge_priv(host);
1127 struct pci_bus *child;
1128 int err;
1129
1130 host->busnr = pcie->busn.start;
1131 host->dev.parent = pcie->dev;
1132 host->ops = pcie->soc->ops;
1133 host->map_irq = of_irq_parse_and_map_pci;
1134 host->swizzle_irq = pci_common_swizzle;
1135 host->sysdata = pcie;
1136
1137 err = pci_scan_root_bus_bridge(host);
1138 if (err < 0)
1139 return err;
1140
1141 pci_bus_size_bridges(host->bus);
1142 pci_bus_assign_resources(host->bus);
1143
1144 list_for_each_entry(child, &host->bus->children, node)
1145 pcie_bus_configure_settings(child);
1146
1147 pci_bus_add_devices(host->bus);
1148
1149 return 0;
1150}
1151
1152static int mtk_pcie_probe(struct platform_device *pdev) 1124static int mtk_pcie_probe(struct platform_device *pdev)
1153{ 1125{
1154 struct device *dev = &pdev->dev; 1126 struct device *dev = &pdev->dev;
@@ -1175,7 +1147,14 @@ static int mtk_pcie_probe(struct platform_device *pdev)
1175 if (err) 1147 if (err)
1176 goto put_resources; 1148 goto put_resources;
1177 1149
1178 err = mtk_pcie_register_host(host); 1150 host->busnr = pcie->busn.start;
1151 host->dev.parent = pcie->dev;
1152 host->ops = pcie->soc->ops;
1153 host->map_irq = of_irq_parse_and_map_pci;
1154 host->swizzle_irq = pci_common_swizzle;
1155 host->sysdata = pcie;
1156
1157 err = pci_host_probe(host);
1179 if (err) 1158 if (err)
1180 goto put_resources; 1159 goto put_resources;
1181 1160