clk: defer clk_gets on orphan clocks
[firefly-linux-kernel-4.4.55.git] / drivers / clk / clk-conf.c
index 43a218f35b190a21e62bc520cdac38f275f5da82..60ebfd9d020ff60f5d2bae39d88d69b60c75d12e 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/device.h>
 #include <linux/of.h>
 #include <linux/printk.h>
+#include "clk.h"
 
 static int __set_clk_parents(struct device_node *node, bool clk_supplier)
 {
@@ -38,7 +39,7 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
                }
                if (clkspec.np == node && !clk_supplier)
                        return 0;
-               pclk = of_clk_get_from_provider(&clkspec);
+               pclk = of_clk_get_from_provider_with_orphans(&clkspec);
                if (IS_ERR(pclk)) {
                        pr_warn("clk: couldn't get parent clock %d for %s\n",
                                index, node->full_name);
@@ -53,7 +54,7 @@ static int __set_clk_parents(struct device_node *node, bool clk_supplier)
                        rc = 0;
                        goto err;
                }
-               clk = of_clk_get_from_provider(&clkspec);
+               clk = of_clk_get_from_provider_with_orphans(&clkspec);
                if (IS_ERR(clk)) {
                        pr_warn("clk: couldn't get parent clock %d for %s\n",
                                index, node->full_name);