Commit d34bcdeb authored by Prashant Gaikwad's avatar Prashant Gaikwad Committed by Mike Turquette

clk: highbank: Use common of_clk_init() function

Use common of_clk_init() function for clocks initialization.
Signed-off-by: default avatarPrashant Gaikwad <pgaikwad@nvidia.com>
Tested-by: default avatarRob Herring <rob.herring@calxeda.com>
Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
parent 85a18198
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
#define __HIGHBANK_CORE_H #define __HIGHBANK_CORE_H
extern void highbank_set_cpu_jump(int cpu, void *jump_addr); 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 highbank_restart(char, const char *);
extern void __iomem *scu_base_addr; extern void __iomem *scu_base_addr;
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <linux/of_address.h> #include <linux/of_address.h>
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/amba/bus.h> #include <linux/amba/bus.h>
#include <linux/clk-provider.h>
#include <asm/arch_timer.h> #include <asm/arch_timer.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
...@@ -116,7 +117,7 @@ static void __init highbank_timer_init(void) ...@@ -116,7 +117,7 @@ static void __init highbank_timer_init(void)
WARN_ON(!timer_base); WARN_ON(!timer_base);
irq = irq_of_parse_and_map(np, 0); irq = irq_of_parse_and_map(np, 0);
highbank_clocks_init(); of_clk_init(NULL);
lookup.clk = of_clk_get(np, 0); lookup.clk = of_clk_get(np, 0);
clkdev_add(&lookup); clkdev_add(&lookup);
......
...@@ -314,33 +314,23 @@ static void __init hb_pll_init(struct device_node *node) ...@@ -314,33 +314,23 @@ static void __init hb_pll_init(struct device_node *node)
{ {
hb_clk_init(node, &clk_pll_ops); 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) static void __init hb_a9periph_init(struct device_node *node)
{ {
hb_clk_init(node, &a9periphclk_ops); 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) static void __init hb_a9bus_init(struct device_node *node)
{ {
struct clk *clk = hb_clk_init(node, &a9bclk_ops); struct clk *clk = hb_clk_init(node, &a9bclk_ops);
clk_prepare_enable(clk); 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) static void __init hb_emmc_init(struct device_node *node)
{ {
hb_clk_init(node, &periclk_ops); hb_clk_init(node, &periclk_ops);
} }
CLK_OF_DECLARE(hb_emmc, "calxeda,hb-emmc-clock", hb_emmc_init);
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);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment