> -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap- > owner@xxxxxxxxxxxxxxx] On Behalf Of Shilimkar, Santosh > Sent: Wednesday, February 23, 2011 2:23 PM > To: Paul Walmsley; linux-omap@xxxxxxxxxxxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx > Cc: Tony Lindgren; Hilman, Kevin; Cousson, Benoit > Subject: RE: [PATCH 8/8] OMAP2+: clockevent: late-init GPTIMER clockevent > hwmodright before timer init > > Paul, > > -----Original Message----- > > From: Paul Walmsley [mailto:paul@xxxxxxxxx] > > Sent: Wednesday, February 23, 2011 12:42 PM > > To: linux-omap@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > > Cc: Tony Lindgren; Kevin Hilman; Santosh Shilimkar; Benoīt Cousson > > Subject: [PATCH 8/8] OMAP2+: clockevent: late-init GPTIMER > > clockevent hwmodright 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.) > > > > Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> > > Cc: Benoīt Cousson <b-cousson@xxxxxx> > > Cc: Tony Lindgren <tony@xxxxxxxxxxx> > > Cc: Kevin Hilman <khilman@xxxxxx> > > Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> > > --- > > arch/arm/mach-omap2/timer-gp.c | 8 +++++++- > > 1 files changed, 7 insertions(+), 1 deletions(-) > > > > 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); > > + > > Do we need above hard-coding ? This takes away flexibility of > choosing system timer from board files, right ? > > Am I missing something here? Currently, omap_4430sdp_init_early() and omap3_beagle_init_irq() calls omap2_gp_clockevent_set_gptimer(id) to set it to 1 and 12 respectively. For OMAP24xx, the default settings of gptimer_id=1 is taken. In summary, we are losing the flexibility. Instead we could have something like: sscanf(clockevent_hwmod_name, "timer%2d", &gptimer_id); -- Tarun > > > > > 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(); > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html