Re: [PATCH 12/12] Move omap_timer to the initdata section.

andrzej zaborowski
2007-06-09T19:20:04Z

Hi,

On 09/06/07, Vivien Chappelier <vivien.chappelier@free.fr> wrote:
> This patch fixes a warning due to omap_timer not belonging to the __initdata
> section as it should.
>
> Signed-off-by: Vivien Chappelier <vivien.chappelier@free.fr>
>
> ---
> arch/arm/mach-omap1/time.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c
> index 3705d20..0ba739c 100644
> --- a/arch/arm/mach-omap1/time.c
> +++ b/arch/arm/mach-omap1/time.c
> @@ -289,6 +289,6 @@ static void __init omap_timer_init(void)
> omap_init_clocksource(rate);
> }
>
> -struct sys_timer omap_timer = {
> +struct sys_timer omap_timer __initdata = {
> .init = omap_timer_init,
> };
> --
> 1.5.1.3

This was already proposed a couple of times (for example here:
http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/010075.html)
but it is wrong because omap_timer is used a lot after initdata is
discarded. One possible solution is leaving .init uninitialised, and
assigning it somewhere during the arch initialisation, with something
like:

omap_timer.init = omap_timer_init;

But maybe it's better to just ignore the reference to another section,
as Tony suggested.