diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2014-06-18 19:46:52 +0400 |
---|---|---|
committer | Tomasz Figa <t.figa@samsung.com> | 2014-06-30 17:07:55 +0400 |
commit | d5e136a21b2028fb1f45143ea7112d5869bfc6c7 (patch) | |
tree | 5515a38250e241056cf3538bbbf6deec37812765 /drivers/clk/samsung/clk-exynos5440.c | |
parent | bdfcdf18c380a3c376b42709a89eb2cc52e95ae0 (diff) | |
download | linux-d5e136a21b2028fb1f45143ea7112d5869bfc6c7.tar.xz |
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-exynos5440.c')
-rw-r--r-- | drivers/clk/samsung/clk-exynos5440.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/clk/samsung/clk-exynos5440.c b/drivers/clk/samsung/clk-exynos5440.c index 647f1440aa6a..2f182f2399ba 100644 --- a/drivers/clk/samsung/clk-exynos5440.c +++ b/drivers/clk/samsung/clk-exynos5440.c @@ -123,6 +123,8 @@ static void __init exynos5440_clk_init(struct device_node *np) samsung_clk_register_gate(ctx, exynos5440_gate_clks, ARRAY_SIZE(exynos5440_gate_clks)); + samsung_clk_of_add_provider(np, ctx); + pr_info("Exynos5440: arm_clk = %ldHz\n", _get_rate("arm_clk")); pr_info("exynos5440 clock initialization complete\n"); } |