EPROBE_DEFER is not an error, hence printing an error message like

        clk: couldn't get clock 0 for /soc/display@feb00000

may confuse the user.

Suppress error messages in case of probe deferral to fix this.

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
 drivers/clk/clk-conf.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/clk/clk-conf.c b/drivers/clk/clk-conf.c
index 674785d968a3e1c5..e0e02a6e59009e7a 100644
--- a/drivers/clk/clk-conf.c
+++ b/drivers/clk/clk-conf.c
@@ -40,8 +40,9 @@ static int __set_clk_parents(struct device_node *node, bool 
clk_supplier)
                        return 0;
                pclk = of_clk_get_from_provider(&clkspec);
                if (IS_ERR(pclk)) {
-                       pr_warn("clk: couldn't get parent clock %d for %s\n",
-                               index, node->full_name);
+                       if (PTR_ERR(pclk) != -EPROBE_DEFER)
+                               pr_warn("clk: couldn't get parent clock %d for 
%s\n",
+                                       index, node->full_name);
                        return PTR_ERR(pclk);
                }
 
@@ -55,8 +56,9 @@ static int __set_clk_parents(struct device_node *node, bool 
clk_supplier)
                }
                clk = of_clk_get_from_provider(&clkspec);
                if (IS_ERR(clk)) {
-                       pr_warn("clk: couldn't get assigned clock %d for %s\n",
-                               index, node->full_name);
+                       if (PTR_ERR(clk) != -EPROBE_DEFER)
+                               pr_warn("clk: couldn't get assigned clock %d 
for %s\n",
+                                       index, node->full_name);
                        rc = PTR_ERR(clk);
                        goto err;
                }
@@ -99,8 +101,9 @@ static int __set_clk_rates(struct device_node *node, bool 
clk_supplier)
 
                        clk = of_clk_get_from_provider(&clkspec);
                        if (IS_ERR(clk)) {
-                               pr_warn("clk: couldn't get clock %d for %s\n",
-                                       index, node->full_name);
+                               if (PTR_ERR(clk) != -EPROBE_DEFER)
+                                       pr_warn("clk: couldn't get clock %d for 
%s\n",
+                                               index, node->full_name);
                                return PTR_ERR(clk);
                        }
 
-- 
1.9.1

Reply via email to