summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>2016-07-05 18:23:32 +0200
committerStephen Boyd <sboyd@codeaurora.org>2016-08-13 03:01:58 +0200
commit989eafd0b6091c15a0929ea5f520ff926ccaaa25 (patch)
tree0b70ab9ee222f286a40e77e279dff01a5db646ef
parentclk: sunxi: apb0: Use new macro CLK_OF_DECLARE_DRIVER (diff)
downloadlinux-989eafd0b6091c15a0929ea5f520ff926ccaaa25.tar.xz
linux-989eafd0b6091c15a0929ea5f520ff926ccaaa25.zip
clk: core: Avoid double initialization of clocks
Some clock providers can be initialized via of_clk_init() and also via platform device probe. Avoid double initialization of them by setting the OF_POPULATED flag. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
-rw-r--r--drivers/clk/clk.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 238b989bf778..0c6009a19957 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -3459,6 +3459,10 @@ void __init of_clk_init(const struct of_device_id *matches)
&clk_provider_list, node) {
if (force || parent_ready(clk_provider->np)) {
+ /* Don't populate platform devices */
+ of_node_set_flag(clk_provider->np,
+ OF_POPULATED);
+
clk_provider->clk_init_cb(clk_provider->np);
of_clk_set_defaults(clk_provider->np, true);