clk: highbank: Use common of_clk_init() function
authorPrashant Gaikwad <pgaikwad@nvidia.com>
Fri, 4 Jan 2013 07:00:55 +0000 (12:30 +0530)
committerMike Turquette <mturquette@linaro.org>
Thu, 24 Jan 2013 19:12:46 +0000 (11:12 -0800)
Use common of_clk_init() function for clocks initialization.

Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Tested-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
arch/arm/mach-highbank/core.h
arch/arm/mach-highbank/highbank.c
drivers/clk/clk-highbank.c

index 80235b4..3f65206 100644 (file)
@@ -2,7 +2,6 @@
 #define __HIGHBANK_CORE_H
 
 extern void highbank_set_cpu_jump(int cpu, void *jump_addr);
-extern void highbank_clocks_init(void);
 extern void highbank_restart(char, const char *);
 extern void __iomem *scu_base_addr;
 
index 981dc1e..f710f16 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/of_address.h>
 #include <linux/smp.h>
 #include <linux/amba/bus.h>
+#include <linux/clk-provider.h>
 
 #include <asm/arch_timer.h>
 #include <asm/cacheflush.h>
@@ -116,7 +117,7 @@ static void __init highbank_timer_init(void)
        WARN_ON(!timer_base);
        irq = irq_of_parse_and_map(np, 0);
 
-       highbank_clocks_init();
+       of_clk_init(NULL);
        lookup.clk = of_clk_get(np, 0);
        clkdev_add(&lookup);
 
index 52fecad..5d1de2e 100644 (file)
@@ -314,33 +314,23 @@ static void __init hb_pll_init(struct device_node *node)
 {
        hb_clk_init(node, &clk_pll_ops);
 }
+CLK_OF_DECLARE(hb_pll, "calxeda,hb-pll-clock", hb_pll_init);
 
 static void __init hb_a9periph_init(struct device_node *node)
 {
        hb_clk_init(node, &a9periphclk_ops);
 }
+CLK_OF_DECLARE(hb_a9periph, "calxeda,hb-a9periph-clock", hb_a9periph_init);
 
 static void __init hb_a9bus_init(struct device_node *node)
 {
        struct clk *clk = hb_clk_init(node, &a9bclk_ops);
        clk_prepare_enable(clk);
 }
+CLK_OF_DECLARE(hb_a9bus, "calxeda,hb-a9bus-clock", hb_a9bus_init);
 
 static void __init hb_emmc_init(struct device_node *node)
 {
        hb_clk_init(node, &periclk_ops);
 }
-
-static const __initconst struct of_device_id clk_match[] = {
-       { .compatible = "fixed-clock", .data = of_fixed_clk_setup, },
-       { .compatible = "calxeda,hb-pll-clock", .data = hb_pll_init, },
-       { .compatible = "calxeda,hb-a9periph-clock", .data = hb_a9periph_init, },
-       { .compatible = "calxeda,hb-a9bus-clock", .data = hb_a9bus_init, },
-       { .compatible = "calxeda,hb-emmc-clock", .data = hb_emmc_init, },
-       {}
-};
-
-void __init highbank_clocks_init(void)
-{
-       of_clk_init(clk_match);
-}
+CLK_OF_DECLARE(hb_emmc, "calxeda,hb-emmc-clock", hb_emmc_init);