[PATCH 07/10] omap2+: Reserve clocksource and timesource and initialize dmtimer later
Tony Lindgren
tony at atomide.com
Mon Jun 27 03:48:57 EDT 2011
* Kevin Hilman <khilman at ti.com> [110623 09:56]:
> Tony Lindgren <tony at atomide.com> writes:
>
> > There's no need to initialize the dmtimer framework early.
>
> Actually, there is, because it's being used from the early code.
>
> The sys_timer.init functions are called before arch_initcalls, so before
> omap_dm_timer_init() is called, you have:
>
> omap3_timer_init()
> omap2_gp_clockevent_init()
> omap_dm_timer_init_one()
> omap_dm_timer_request_specific()
>
>
> Among other things, the spinlock is taken before it has been initialized
> in omap_dm_timer_init() (that's how I noticed this problem), but the
> rest of the init of course hasn't been done either.
>
> Basically, the problem is that this "early init" code is not only using
> the new macros, but it's also using functions from the "real" driver,
> which is not yet initialized.
Sounds like you did not apply the previous patch to remove the PM hack?
There's no need to call to omap_dm_timer_request_specific here unless
you added back the PM hack.
Regards,
Tony
More information about the linux-arm-kernel
mailing list