PCI: dwc: all: Use platform_set_drvdata() to save private data
authorKishon Vijay Abraham I <kishon@ti.com>
Wed, 15 Feb 2017 13:18:11 +0000 (18:48 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 21 Feb 2017 21:00:26 +0000 (15:00 -0600)
Add platform_set_drvdata() in all designware-based drivers to store the
private data structure of the driver so that dev_set_drvdata() can be used
to get back private data structure in add_pcie_port/host_init.  This is in
preparation for splitting struct pcie_port into core and host only
structures. After the split pcie_port will not be part of the driver's
private data structure and *container_of* used now to get the private data
pointer cannot be used.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Jingoo Han <jingoohan1@gmail.com>
CC: Richard Zhu <hongxing.zhu@nxp.com>
CC: Lucas Stach <l.stach@pengutronix.de>
CC: Murali Karicheri <m-karicheri2@ti.com>
CC: Minghuan Lian <minghuan.Lian@freescale.com>
CC: Mingkai Hu <mingkai.hu@freescale.com>
CC: Roy Zang <tie-fei.zang@freescale.com>
CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
CC: Niklas Cassel <niklas.cassel@axis.com>
CC: Jesper Nilsson <jesper.nilsson@axis.com>
CC: Joao Pinto <Joao.Pinto@synopsys.com>
CC: Zhou Wang <wangzhou1@hisilicon.com>
CC: Gabriele Paoloni <gabriele.paoloni@huawei.com>
CC: Stanimir Varbanov <svarbanov@mm-sol.com>
CC: Pratyush Anand <pratyush.anand@gmail.com>
drivers/pci/dwc/pci-dra7xx.c
drivers/pci/dwc/pci-exynos.c
drivers/pci/dwc/pci-imx6.c
drivers/pci/dwc/pci-keystone.c
drivers/pci/dwc/pci-layerscape.c
drivers/pci/dwc/pcie-armada8k.c
drivers/pci/dwc/pcie-artpec6.c
drivers/pci/dwc/pcie-designware-plat.c
drivers/pci/dwc/pcie-hisi.c
drivers/pci/dwc/pcie-qcom.c
drivers/pci/dwc/pcie-spear13xx.c

index ec5617a0e08c40741cd79c1b0cea4e812b3df379..d1cd476dee9f15e7767b0689faa24146f3cdcbc5 100644 (file)
@@ -433,6 +433,8 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev)
                return ret;
        }
 
+       platform_set_drvdata(pdev, dra7xx);
+
        pm_runtime_enable(dev);
        ret = pm_runtime_get_sync(dev);
        if (ret < 0) {
@@ -459,7 +461,6 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev)
        if (ret < 0)
                goto err_gpio;
 
-       platform_set_drvdata(pdev, dra7xx);
        return 0;
 
 err_gpio:
index f1c544bb8b684b7c969bfb574801a76810a6dca0..c179e7aaeedbf300780fa1fea6da169e30ba8f12 100644 (file)
@@ -583,11 +583,12 @@ static int __init exynos_pcie_probe(struct platform_device *pdev)
                goto fail_bus_clk;
        }
 
+       platform_set_drvdata(pdev, exynos_pcie);
+
        ret = exynos_add_pcie_port(exynos_pcie, pdev);
        if (ret < 0)
                goto fail_bus_clk;
 
-       platform_set_drvdata(pdev, exynos_pcie);
        return 0;
 
 fail_bus_clk:
index c8cefb07821878a100172d28d172e5770894703c..6e5d06fb3b10c70b2080a83696796c24b6ee65c6 100644 (file)
@@ -719,11 +719,12 @@ static int __init imx6_pcie_probe(struct platform_device *pdev)
        if (ret)
                imx6_pcie->link_gen = 1;
 
+       platform_set_drvdata(pdev, imx6_pcie);
+
        ret = imx6_add_pcie_port(imx6_pcie, pdev);
        if (ret < 0)
                return ret;
 
-       platform_set_drvdata(pdev, imx6_pcie);
        return 0;
 }
 
index 043c19a05da1239e54b59b14e9e4c427f6d92ccb..4c7ba3583450e164481ef24d73415fb6a520e8fa 100644 (file)
@@ -422,6 +422,8 @@ static int __init ks_pcie_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
+       platform_set_drvdata(pdev, ks_pcie);
+
        ret = ks_add_pcie_port(ks_pcie, pdev);
        if (ret < 0)
                goto fail_clk;
index ea789138531be438ebeac3c0de62a47adf6c84eb..89e8817ae77d8ed17c2925ba9980a3dcf4c3529f 100644 (file)
@@ -268,6 +268,8 @@ static int __init ls_pcie_probe(struct platform_device *pdev)
        if (!ls_pcie_is_bridge(pcie))
                return -ENODEV;
 
+       platform_set_drvdata(pdev, pcie);
+
        ret = ls_add_pcie_port(pcie);
        if (ret < 0)
                return ret;
index 0ac0f18690f20a6743193cb9714feaf72f309487..5a28dcbf18666521726937386a88803187492461 100644 (file)
@@ -226,6 +226,8 @@ static int armada8k_pcie_probe(struct platform_device *pdev)
                goto fail;
        }
 
+       platform_set_drvdata(pdev, pcie);
+
        ret = armada8k_add_pcie_port(pcie, pdev);
        if (ret)
                goto fail;
index 212786b27f1a1b1f9ed9a07ba5c410617e2569c0..187a98d621a8b0e299355b037ee848e7798cef09 100644 (file)
@@ -261,6 +261,8 @@ static int artpec6_pcie_probe(struct platform_device *pdev)
        if (IS_ERR(artpec6_pcie->regmap))
                return PTR_ERR(artpec6_pcie->regmap);
 
+       platform_set_drvdata(pdev, artpec6_pcie);
+
        ret = artpec6_add_pcie_port(artpec6_pcie, pdev);
        if (ret < 0)
                return ret;
index 1a02038c464021b9580a37e2ee70b71a365ecc28..bb5854059d464c882733ea4a19f17196d09b5b1f 100644 (file)
@@ -104,6 +104,8 @@ static int dw_plat_pcie_probe(struct platform_device *pdev)
        if (IS_ERR(pp->dbi_base))
                return PTR_ERR(pp->dbi_base);
 
+       platform_set_drvdata(pdev, dw_plat_pcie);
+
        ret = dw_plat_add_pcie_port(pp, pdev);
        if (ret < 0)
                return ret;
index a301a7187b30ff31192da2113f107c786790b305..ecc1b08ff8e0cf998eec5eddda55720b2615bf2b 100644 (file)
@@ -287,6 +287,8 @@ static int hisi_pcie_probe(struct platform_device *pdev)
        if (IS_ERR(pp->dbi_base))
                return PTR_ERR(pp->dbi_base);
 
+       platform_set_drvdata(pdev, hisi_pcie);
+
        ret = hisi_add_pcie_port(hisi_pcie, pdev);
        if (ret)
                return ret;
index 1ecff2e07771ff801e965f1a5fdeb4c56a4372c8..3f525cb985ee457506894e67fba64a18e4ac9d42 100644 (file)
@@ -716,6 +716,8 @@ static int qcom_pcie_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
+       platform_set_drvdata(pdev, pcie);
+
        ret = dw_pcie_host_init(pp);
        if (ret) {
                dev_err(dev, "cannot initialize host\n");
index dafe8b88d97d8ce192ba8abd44cee9da37efb55e..59705661cc975d062925f113ee0783050445f419 100644 (file)
@@ -270,11 +270,12 @@ static int spear13xx_pcie_probe(struct platform_device *pdev)
        if (of_property_read_bool(np, "st,pcie-is-gen1"))
                spear13xx_pcie->is_gen1 = true;
 
+       platform_set_drvdata(pdev, spear13xx_pcie);
+
        ret = spear13xx_add_pcie_port(spear13xx_pcie, pdev);
        if (ret < 0)
                goto fail_clk;
 
-       platform_set_drvdata(pdev, spear13xx_pcie);
        return 0;
 
 fail_clk: