clk: samsung: Modify _get_rate() helper to use __clk_lookup()
authorTomasz Figa <t.figa@samsung.com>
Mon, 26 Aug 2013 17:09:00 +0000 (19:09 +0200)
committerMike Turquette <mturquette@linaro.org>
Fri, 6 Sep 2013 20:33:15 +0000 (13:33 -0700)
There is no need to use clkdev inside the clock driver to retrieve the
clocks for internal use. Instead __clk_lookup() helper can be used to
look up clocks by their platform name.

This patch modifies the behavior of _get_rate() helper to look up clocks
by platform name and adjusts all users of it to pass platform names
instead of clkdev aliases.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/samsung/clk-exynos4.c
drivers/clk/samsung/clk-exynos5440.c
drivers/clk/samsung/clk.c

index d70d3cbaacfe966656a8d1023ec3c6be7ac3011f..cf7afde6e758c7df6108a9976341e35c7495c324 100644 (file)
@@ -1092,9 +1092,9 @@ static void __init exynos4_clk_init(struct device_node *np,
        pr_info("%s clocks: sclk_apll = %ld, sclk_mpll = %ld\n"
                "\tsclk_epll = %ld, sclk_vpll = %ld, arm_clk = %ld\n",
                exynos4_soc == EXYNOS4210 ? "Exynos4210" : "Exynos4x12",
-               _get_rate("sclk_apll"), _get_rate("mout_mpll"),
+               _get_rate("sclk_apll"), _get_rate("sclk_mpll"),
                _get_rate("sclk_epll"), _get_rate("sclk_vpll"),
-               _get_rate("armclk"));
+               _get_rate("arm_clk"));
 }
 
 
index 4ef38e045e39035bcb7012aeb99255866c840805..f8658945bfd2a7a1d51f2dabb1d761ac4d58eae0 100644 (file)
@@ -132,7 +132,7 @@ static void __init exynos5440_clk_init(struct device_node *np)
        samsung_clk_register_gate(exynos5440_gate_clks,
                        ARRAY_SIZE(exynos5440_gate_clks));
 
-       pr_info("Exynos5440: arm_clk = %ldHz\n", _get_rate("armclk"));
+       pr_info("Exynos5440: arm_clk = %ldHz\n", _get_rate("arm_clk"));
        pr_info("exynos5440 clock initialization complete\n");
 }
 CLK_OF_DECLARE(exynos5440_clk, "samsung,exynos5440-clock", exynos5440_clk_init);
index cd3c40ab50f3d57c50c63bc24cf2f89f7555d819..f503f32e2f80b2832519927894e8c84ba0d81e60 100644 (file)
@@ -307,14 +307,12 @@ void __init samsung_clk_of_register_fixed_ext(
 unsigned long _get_rate(const char *clk_name)
 {
        struct clk *clk;
-       unsigned long rate;
 
-       clk = clk_get(NULL, clk_name);
-       if (IS_ERR(clk)) {
+       clk = __clk_lookup(clk_name);
+       if (!clk) {
                pr_err("%s: could not find clock %s\n", __func__, clk_name);
                return 0;
        }
-       rate = clk_get_rate(clk);
-       clk_put(clk);
-       return rate;
+
+       return clk_get_rate(clk);
 }