summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/timer-gp.c
diff options
context:
space:
mode:
authorTony Lindgren2011-03-30 00:54:49 +0200
committerTony Lindgren2011-06-27 21:14:01 +0200
commit11a0186f3ef6aa6a9b8b81f5a501b6063fa47500 (patch)
treecf48a0045d12479cc3a747e35b3b35ed93ba208c /arch/arm/mach-omap2/timer-gp.c
parentomap2+: Remove gptimer_wakeup for now (diff)
downloadkernel-qcow2-linux-11a0186f3ef6aa6a9b8b81f5a501b6063fa47500.tar.gz
kernel-qcow2-linux-11a0186f3ef6aa6a9b8b81f5a501b6063fa47500.tar.xz
kernel-qcow2-linux-11a0186f3ef6aa6a9b8b81f5a501b6063fa47500.zip
omap2+: Reserve clocksource and timesource and initialize dmtimer later
There's no need to initialize the dmtimer framework early. Just mark the clocksource and timesource as reserved, and initialize dmtimer with an arch_initcall. Signed-off-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/timer-gp.c')
-rw-r--r--arch/arm/mach-omap2/timer-gp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
index 578e9df4fdea..cf2ec85b95fa 100644
--- a/arch/arm/mach-omap2/timer-gp.c
+++ b/arch/arm/mach-omap2/timer-gp.c
@@ -69,6 +69,8 @@
/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
#define MAX_GPTIMER_ID 12
+u32 sys_timer_reserved;
+
/* Clockevent code */
static struct omap_dm_timer clkev;
@@ -195,6 +197,8 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
omap_hwmod_enable(oh);
+ sys_timer_reserved |= (1 << (gptimer_id - 1));
+
if (gptimer_id != 12) {
struct clk *src;
@@ -321,7 +325,6 @@ static void __init omap2_gp_clocksource_init(void)
#define OMAP_SYS_TIMER_INIT(name, clkev_nr, clkev_src) \
static void __init omap##name##_timer_init(void) \
{ \
- omap_dm_timer_init(); \
omap2_gp_clockevent_init((clkev_nr), clkev_src); \
omap2_gp_clocksource_init(); \
}
@@ -350,7 +353,6 @@ static void __init omap4_timer_init(void)
twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256);
BUG_ON(!twd_base);
#endif
- omap_dm_timer_init();
omap2_gp_clockevent_init(1, OMAP4_CLKEV_SOURCE);
omap2_gp_clocksource_init();
}