summaryrefslogtreecommitdiffstats
path: root/drivers/clk/samsung/clk-s3c2410.c
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2014-06-18 17:46:52 +0200
committerTomasz Figa <t.figa@samsung.com>2014-06-30 15:07:55 +0200
commitd5e136a21b2028fb1f45143ea7112d5869bfc6c7 (patch)
tree5515a38250e241056cf3538bbbf6deec37812765 /drivers/clk/samsung/clk-s3c2410.c
parentbdfcdf18c380a3c376b42709a89eb2cc52e95ae0 (diff)
downloadlinux-d5e136a21b2028fb1f45143ea7112d5869bfc6c7.tar.bz2
clk: samsung: Register clk provider only after registering its all clocks
Ensure the clock provider is not registered until after all its related clocks were created and are ready to use. Currently there are races possible and any (of_)clk_get() call right after a clock provider's clk_init_cb callback call may fail. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Diffstat (limited to 'drivers/clk/samsung/clk-s3c2410.c')
-rw-r--r--drivers/clk/samsung/clk-s3c2410.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/clk/samsung/clk-s3c2410.c b/drivers/clk/samsung/clk-s3c2410.c
index 140f4733c02e..5d2f03461bc5 100644
--- a/drivers/clk/samsung/clk-s3c2410.c
+++ b/drivers/clk/samsung/clk-s3c2410.c
@@ -466,6 +466,8 @@ void __init s3c2410_common_clk_init(struct device_node *np, unsigned long xti_f,
}
s3c2410_clk_sleep_init();
+
+ samsung_clk_of_add_provider(np, ctx);
}
static void __init s3c2410_clk_init(struct device_node *np)