Commit b997f6e2 authored by viresh kumar's avatar viresh kumar Committed by Russell King

ARM: 6926/1: SPEAr clock: Define common clk_init routine in plat/clock.c

Define common clk_init routine in plat/clock.c for calling recalc_root_clocks.
This routine will be used for any common code across all machine families.
Whereas family specific spear*xx_clk_init routines will be used for family
specific code.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 16c29daf
...@@ -732,12 +732,12 @@ static struct clk_lookup spear_clk_lookups[] = { ...@@ -732,12 +732,12 @@ static struct clk_lookup spear_clk_lookups[] = {
#endif #endif
}; };
void __init clk_init(void) void __init spear3xx_clk_init(void)
{ {
int i; int i;
for (i = 0; i < ARRAY_SIZE(spear_clk_lookups); i++) for (i = 0; i < ARRAY_SIZE(spear_clk_lookups); i++)
clk_register(&spear_clk_lookups[i]); clk_register(&spear_clk_lookups[i]);
recalc_root_clocks(); clk_init();
} }
...@@ -36,7 +36,7 @@ extern struct amba_device uart_device; ...@@ -36,7 +36,7 @@ extern struct amba_device uart_device;
extern struct sys_timer spear3xx_timer; extern struct sys_timer spear3xx_timer;
/* Add spear3xx family function declarations here */ /* Add spear3xx family function declarations here */
void __init clk_init(void); void __init spear3xx_clk_init(void);
void __init spear_setup_timer(void); void __init spear_setup_timer(void);
void __init spear3xx_map_io(void); void __init spear3xx_map_io(void);
void __init spear3xx_init_irq(void); void __init spear3xx_init_irq(void);
......
...@@ -97,7 +97,7 @@ void __init spear3xx_map_io(void) ...@@ -97,7 +97,7 @@ void __init spear3xx_map_io(void)
iotable_init(spear3xx_io_desc, ARRAY_SIZE(spear3xx_io_desc)); iotable_init(spear3xx_io_desc, ARRAY_SIZE(spear3xx_io_desc));
/* This will initialize clock framework */ /* This will initialize clock framework */
clk_init(); spear3xx_clk_init();
} }
/* pad multiplexing support */ /* pad multiplexing support */
......
...@@ -671,12 +671,12 @@ static struct clk_lookup spear_clk_lookups[] = { ...@@ -671,12 +671,12 @@ static struct clk_lookup spear_clk_lookups[] = {
{ .dev_id = "gpio2", .clk = &gpio2_clk}, { .dev_id = "gpio2", .clk = &gpio2_clk},
}; };
void __init clk_init(void) void __init spear6xx_clk_init(void)
{ {
int i; int i;
for (i = 0; i < ARRAY_SIZE(spear_clk_lookups); i++) for (i = 0; i < ARRAY_SIZE(spear_clk_lookups); i++)
clk_register(&spear_clk_lookups[i]); clk_register(&spear_clk_lookups[i]);
recalc_root_clocks(); clk_init();
} }
...@@ -39,7 +39,7 @@ void __init spear6xx_map_io(void); ...@@ -39,7 +39,7 @@ void __init spear6xx_map_io(void);
void __init spear6xx_init_irq(void); void __init spear6xx_init_irq(void);
void __init spear6xx_init(void); void __init spear6xx_init(void);
void __init spear600_init(void); void __init spear600_init(void);
void __init clk_init(void); void __init spear6xx_clk_init(void);
/* Add spear600 machine device structure declarations here */ /* Add spear600 machine device structure declarations here */
......
...@@ -148,7 +148,7 @@ void __init spear6xx_map_io(void) ...@@ -148,7 +148,7 @@ void __init spear6xx_map_io(void)
iotable_init(spear6xx_io_desc, ARRAY_SIZE(spear6xx_io_desc)); iotable_init(spear6xx_io_desc, ARRAY_SIZE(spear6xx_io_desc));
/* This will initialize clock framework */ /* This will initialize clock framework */
clk_init(); spear6xx_clk_init();
} }
static void __init spear6xx_timer_init(void) static void __init spear6xx_timer_init(void)
......
...@@ -903,6 +903,11 @@ void recalc_root_clocks(void) ...@@ -903,6 +903,11 @@ void recalc_root_clocks(void)
spin_unlock_irqrestore(&clocks_lock, flags); spin_unlock_irqrestore(&clocks_lock, flags);
} }
void __init clk_init(void)
{
recalc_root_clocks();
}
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
/* /*
* debugfs support to trace clock tree hierarchy and attributes * debugfs support to trace clock tree hierarchy and attributes
......
...@@ -224,6 +224,7 @@ struct clcd_rate_tbl { ...@@ -224,6 +224,7 @@ struct clcd_rate_tbl {
}; };
/* platform specific clock functions */ /* platform specific clock functions */
void __init clk_init(void);
void clk_register(struct clk_lookup *cl); void clk_register(struct clk_lookup *cl);
void recalc_root_clocks(void); void recalc_root_clocks(void);
......
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