Thread (36 messages) 36 messages, 5 authors, 2011-03-04
STALE5570d REVIEWED: 1 (0M)

[PATCH 8/8] OMAP2+: clockevent: late-init GPTIMER clockevent hwmodright before timer init

From: Santosh Shilimkar <hidden>
Date: 2011-02-24 08:57:13
Also in: linux-omap

-----Original Message-----
From: Paul Walmsley [mailto:paul at pwsan.com]
Sent: Thursday, February 24, 2011 1:45 PM
To: Santosh Shilimkar
Cc: linux-omap at vger.kernel.org; linux-arm-
kernel at lists.infradead.org; Tony Lindgren; Kevin Hilman; Benoit
Cousson
Subject: RE: [PATCH 8/8] OMAP2+: clockevent: late-init GPTIMER
clockevent hwmodright before timer init

Hello Santosh,

On Thu, 24 Feb 2011, Paul Walmsley wrote:
quoted
I propose the following change instead - please let me know what
you
quoted
think.
Oops - the patch I sent you was not completely refreshed in the
local
tree.  Here is the correct one.


- Paul

From: Paul Walmsley <paul@pwsan.com>
Date: Wed, 23 Feb 2011 00:14:08 -0700
Subject: [PATCH] OMAP2+: clockevent: late-init GPTIMER clockevent
hwmod right before timer init

Late-initialize the GPTIMER hwmod used for the clockevent source
immediately
before it is used.  This avoids the need to late-initialize all of
the hwmods
until the boot process is further along.  (In general, we want to
defer
as much as possible until late in the boot process.)

This second version fixes a bug pointed out by Santosh Shilimkar
[off-list ref], that would cause the kernel to use an
incorrect timer hwmod name if the selected GPTIMER was not 1 or 12 -
thanks Santosh.  Also, Tarun Kanti DebBarma [off-list ref]
pointed out that the original patch did not apply cleanly; this has
now been fixed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Beno?t Cousson <redacted>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <redacted>
Cc: Santosh Shilimkar <redacted>
Cc: Tarun Kanti DebBarma <redacted>
---
Looks good and thanks for fixing this one.

Acked-by: Santosh Shilimkar <redacted>
quoted hunk ↗ jump to hunk
 arch/arm/mach-omap2/timer-gp.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-
omap2/timer-gp.c
index 7b7c268..b289d53 100644
--- a/arch/arm/mach-omap2/timer-gp.c
+++ b/arch/arm/mach-omap2/timer-gp.c
@@ -39,10 +39,11 @@
 #include <asm/mach/time.h>
 #include <plat/dmtimer.h>
 #include <asm/localtimer.h>
+#include <plat/common.h>
+#include <plat/omap_hwmod.h>

 #include "timer-gp.h"

-#include <plat/common.h>

 /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
 #define MAX_GPTIMER_ID		12
@@ -132,9 +133,13 @@ static void __init
omap2_gp_clockevent_init(void)
 {
 	u32 tick_rate;
 	int src;
+	char clockevent_hwmod_name[8]; /* 8 = sizeof("timerXX0") */

 	inited = 1;

+	sprintf(clockevent_hwmod_name, "timer%d", gptimer_id);
+	omap_hwmod_late_init_one(clockevent_hwmod_name);
+
 	gptimer = omap_dm_timer_request_specific(gptimer_id);
 	BUG_ON(gptimer == NULL);
 	gptimer_wakeup = gptimer;
--
1.7.2.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help