diff mbox

[8/8] OMAP2+: clockevent: late-init GPTIMER clockevent hwmod right before timer init

Message ID 20110223071153.5874.58923.stgit@twilight.localdomain (mailing list archive)
State New, archived
Headers show

Commit Message

Paul Walmsley Feb. 23, 2011, 7:11 a.m. UTC
None
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
index 0fc550e..a4e51a2 100644
--- a/arch/arm/mach-omap2/timer-gp.c
+++ b/arch/arm/mach-omap2/timer-gp.c
@@ -40,10 +40,11 @@ 
 #include <plat/dmtimer.h>
 #include <asm/localtimer.h>
 #include <asm/sched_clock.h>
+#include <plat/common.h>
 
 #include "timer-gp.h"
+#include <plat/omap_hwmod.h>
 
-#include <plat/common.h>
 
 /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
 #define MAX_GPTIMER_ID		12
@@ -133,9 +134,13 @@  static void __init omap2_gp_clockevent_init(void)
 {
 	u32 tick_rate;
 	int src;
+	const char *clockevent_hwmod_name;
 
 	inited = 1;
 
+	clockevent_hwmod_name = (gptimer_id == 12) ? "timer12" : "timer1";
+	omap_hwmod_late_init_one(clockevent_hwmod_name);
+
 	gptimer = omap_dm_timer_request_specific(gptimer_id);
 	BUG_ON(gptimer == NULL);
 	gptimer_wakeup = gptimer;
@@ -250,6 +255,7 @@  static void __init omap2_gp_timer_init(void)
 		BUG_ON(!twd_base);
 	}
 #endif
+
 	omap_dm_timer_init();
 
 	omap2_gp_clockevent_init();