When devm_clk_get() returns -EPROBE_DEFER, i.MX6 PCI driver should
NOT print error message, just return -EPROBE_DEFER is enough.

Signed-off-by: Anson Huang <anson.hu...@nxp.com>
---
 drivers/pci/controller/dwc/pci-imx6.c | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/drivers/pci/controller/dwc/pci-imx6.c 
b/drivers/pci/controller/dwc/pci-imx6.c
index 4e5c379..ee75d35 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1076,20 +1076,26 @@ static int imx6_pcie_probe(struct platform_device *pdev)
        /* Fetch clocks */
        imx6_pcie->pcie_phy = devm_clk_get(dev, "pcie_phy");
        if (IS_ERR(imx6_pcie->pcie_phy)) {
-               dev_err(dev, "pcie_phy clock source missing or invalid\n");
-               return PTR_ERR(imx6_pcie->pcie_phy);
+               ret = PTR_ERR(imx6_pcie->pcie_phy);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "pcie_phy clock source missing or 
invalid\n");
+               return ret;
        }
 
        imx6_pcie->pcie_bus = devm_clk_get(dev, "pcie_bus");
        if (IS_ERR(imx6_pcie->pcie_bus)) {
-               dev_err(dev, "pcie_bus clock source missing or invalid\n");
-               return PTR_ERR(imx6_pcie->pcie_bus);
+               ret = PTR_ERR(imx6_pcie->pcie_bus);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "pcie_bus clock source missing or 
invalid\n");
+               return ret;
        }
 
        imx6_pcie->pcie = devm_clk_get(dev, "pcie");
        if (IS_ERR(imx6_pcie->pcie)) {
-               dev_err(dev, "pcie clock source missing or invalid\n");
-               return PTR_ERR(imx6_pcie->pcie);
+               ret = PTR_ERR(imx6_pcie->pcie);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "pcie clock source missing or invalid\n");
+               return ret;
        }
 
        switch (imx6_pcie->drvdata->variant) {
@@ -1097,15 +1103,19 @@ static int imx6_pcie_probe(struct platform_device *pdev)
                imx6_pcie->pcie_inbound_axi = devm_clk_get(dev,
                                                           "pcie_inbound_axi");
                if (IS_ERR(imx6_pcie->pcie_inbound_axi)) {
-                       dev_err(dev, "pcie_inbound_axi clock missing or 
invalid\n");
-                       return PTR_ERR(imx6_pcie->pcie_inbound_axi);
+                       ret = PTR_ERR(imx6_pcie->pcie_inbound_axi);
+                       if (ret != -EPROBE_DEFER)
+                               dev_err(dev, "pcie_inbound_axi clock missing or 
invalid\n");
+                       return ret;
                }
                break;
        case IMX8MQ:
                imx6_pcie->pcie_aux = devm_clk_get(dev, "pcie_aux");
                if (IS_ERR(imx6_pcie->pcie_aux)) {
-                       dev_err(dev, "pcie_aux clock source missing or 
invalid\n");
-                       return PTR_ERR(imx6_pcie->pcie_aux);
+                       ret = PTR_ERR(imx6_pcie->pcie_aux);
+                       if (ret != -EPROBE_DEFER)
+                               dev_err(dev, "pcie_aux clock source missing or 
invalid\n");
+                       return ret;
                }
                /* fall through */
        case IMX7D:
-- 
2.7.4

Reply via email to