1
0
Fork 0

sh: use common clock framework with device tree boards

Enable common clk framework for DT-based boards and disable code that
depends on the legacy sh clk framework when common clk is enabled.
Once legacy drivers are converted over, the old code can be removed
entirely.

Signed-off-by: Rich Felker <dalias@libc.org>
hifive-unleashed-5.1
Rich Felker 2016-07-31 03:11:30 +00:00
parent 74bdaa611f
commit 15f0c8f2f3
2 changed files with 5 additions and 0 deletions

View File

@ -11,6 +11,7 @@ config SH_DEVICE_TREE
select OF select OF
select OF_EARLY_FLATTREE select OF_EARLY_FLATTREE
select CLKSRC_OF select CLKSRC_OF
select COMMON_CLK
select GENERIC_CALIBRATE_DELAY select GENERIC_CALIBRATE_DELAY
help help
Select Board Described by Device Tree to build a kernel that Select Board Described by Device Tree to build a kernel that

View File

@ -24,11 +24,13 @@ int __init clk_init(void)
{ {
int ret; int ret;
#ifndef CONFIG_COMMON_CLK
ret = arch_clk_init(); ret = arch_clk_init();
if (unlikely(ret)) { if (unlikely(ret)) {
pr_err("%s: CPU clock registration failed.\n", __func__); pr_err("%s: CPU clock registration failed.\n", __func__);
return ret; return ret;
} }
#endif
if (sh_mv.mv_clk_init) { if (sh_mv.mv_clk_init) {
ret = sh_mv.mv_clk_init(); ret = sh_mv.mv_clk_init();
@ -39,11 +41,13 @@ int __init clk_init(void)
} }
} }
#ifndef CONFIG_COMMON_CLK
/* Kick the child clocks.. */ /* Kick the child clocks.. */
recalculate_root_clocks(); recalculate_root_clocks();
/* Enable the necessary init clocks */ /* Enable the necessary init clocks */
clk_enable_init_clocks(); clk_enable_init_clocks();
#endif
return ret; return ret;
} }