[PATCH 6/7] PCI: layerscape: Move struct pcie_port setup to probe function

Bjorn Helgaas bhelgaas at google.com
Sat Oct 8 03:42:33 AEDT 2016


Do the basic pcie_port setup in the probe function for consistency with
other drivers.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
---
 drivers/pci/host/pci-layerscape.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/pci/host/pci-layerscape.c b/drivers/pci/host/pci-layerscape.c
index bf1ce11..9b74485 100644
--- a/drivers/pci/host/pci-layerscape.c
+++ b/drivers/pci/host/pci-layerscape.c
@@ -218,9 +218,6 @@ static int __init ls_add_pcie_port(struct ls_pcie *ls,
 	struct pcie_port *pp = &ls->pp;
 	int ret;
 
-	pp->dev = &pdev->dev;
-	pp->ops = ls->drvdata->ops;
-
 	ret = dw_pcie_host_init(pp);
 	if (ret) {
 		dev_err(pp->dev, "failed to initialize host\n");
@@ -235,6 +232,7 @@ static int __init ls_pcie_probe(struct platform_device *pdev)
 	struct device *dev = &pdev->dev;
 	const struct of_device_id *match;
 	struct ls_pcie *ls;
+	struct pcie_port *pp;
 	struct resource *dbi_base;
 	int ret;
 
@@ -246,6 +244,12 @@ static int __init ls_pcie_probe(struct platform_device *pdev)
 	if (!ls)
 		return -ENOMEM;
 
+	ls->drvdata = match->data;
+
+	pp = &ls->pp;
+	pp->dev = dev;
+	pp->ops = ls->drvdata->ops;
+
 	dbi_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
 	ls->pp.dbi_base = devm_ioremap_resource(dev, dbi_base);
 	if (IS_ERR(ls->pp.dbi_base)) {
@@ -253,7 +257,6 @@ static int __init ls_pcie_probe(struct platform_device *pdev)
 		return PTR_ERR(ls->pp.dbi_base);
 	}
 
-	ls->drvdata = match->data;
 	ls->lut = ls->pp.dbi_base + ls->drvdata->lut_offset;
 
 	if (!ls_pcie_is_bridge(ls))
@@ -264,7 +267,6 @@ static int __init ls_pcie_probe(struct platform_device *pdev)
 		return ret;
 
 	platform_set_drvdata(pdev, ls);
-
 	return 0;
 }
 



More information about the Linuxppc-dev mailing list