aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-05-22 01:00:34 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-05-22 01:00:34 -0400
commit36aa1e32f451b664adaf3fc9a77d8279b7a833b2 (patch)
treef33555992b09fcd0aa97debfa1d5d2b4b8694283
parent7fc1e5c15fde0fa9d2c08441f6898a9e51593d47 (diff)
sh: clkfwk: Make clock-cpg usable for non-legacy platforms.
This adds a new SH_CLK_CPG for parts that have CPG support. SH_CLK_CPG_LEGACY is made to depend on this, and still needs to be set for platforms that want clock-cpg to register the legacy clocks. With this new config item in place, it is now possible to start layering more generic CPG code in place while other platforms transition off of the legacy clocks. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/Kconfig4
-rw-r--r--arch/sh/kernel/cpu/Makefile2
-rw-r--r--arch/sh/kernel/cpu/clock-cpg.c2
3 files changed, 7 insertions, 1 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index df764c56b050..c815975b8d75 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -513,7 +513,11 @@ config SH_PCLK_FREQ
513 This is necessary for determining the reference clock value on 513 This is necessary for determining the reference clock value on
514 platforms lacking an RTC. 514 platforms lacking an RTC.
515 515
516config SH_CLK_CPG
517 def_bool y
518
516config SH_CLK_CPG_LEGACY 519config SH_CLK_CPG_LEGACY
520 depends on SH_CLK_CPG
517 def_bool y if !CPU_SUBTYPE_SH7785 521 def_bool y if !CPU_SUBTYPE_SH7785
518 522
519config SH_CLK_MD 523config SH_CLK_MD
diff --git a/arch/sh/kernel/cpu/Makefile b/arch/sh/kernel/cpu/Makefile
index 05105b980c21..eecad7cbd61e 100644
--- a/arch/sh/kernel/cpu/Makefile
+++ b/arch/sh/kernel/cpu/Makefile
@@ -17,6 +17,6 @@ obj-$(CONFIG_ARCH_SHMOBILE) += shmobile/
17 17
18obj-$(CONFIG_UBC_WAKEUP) += ubc.o 18obj-$(CONFIG_UBC_WAKEUP) += ubc.o
19obj-$(CONFIG_SH_ADC) += adc.o 19obj-$(CONFIG_SH_ADC) += adc.o
20obj-$(CONFIG_SH_CLK_CPG_LEGACY) += clock-cpg.o 20obj-$(CONFIG_SH_CLK_CPG) += clock-cpg.o
21 21
22obj-y += irq/ init.o clock.o 22obj-y += irq/ init.o clock.o
diff --git a/arch/sh/kernel/cpu/clock-cpg.c b/arch/sh/kernel/cpu/clock-cpg.c
index b4ca20048446..b78c237ab366 100644
--- a/arch/sh/kernel/cpu/clock-cpg.c
+++ b/arch/sh/kernel/cpu/clock-cpg.c
@@ -2,6 +2,7 @@
2#include <linux/compiler.h> 2#include <linux/compiler.h>
3#include <asm/clock.h> 3#include <asm/clock.h>
4 4
5#ifdef CONFIG_SH_CLK_CPG_LEGACY
5static struct clk master_clk = { 6static struct clk master_clk = {
6 .name = "master_clk", 7 .name = "master_clk",
7 .flags = CLK_ENABLE_ON_INIT, 8 .flags = CLK_ENABLE_ON_INIT,
@@ -58,3 +59,4 @@ int __init __weak arch_clk_init(void)
58{ 59{
59 return cpg_clk_init(); 60 return cpg_clk_init();
60} 61}
62#endif /* CONFIG_SH_CPG_CLK_LEGACY */