ARM: mv78xx0: mark mv78xx0_timer_init as __init_refok
authorArnd Bergmann <arnd@arndb.de>
Mon, 30 Apr 2012 15:44:12 +0000 (15:44 +0000)
committerArnd Bergmann <arnd@arndb.de>
Sun, 7 Oct 2012 08:33:07 +0000 (10:33 +0200)
The sys_timer init function is only called at __init time,
so it's safe to mark mv78xx0_timer_init as __init_refok,
which allows us to call orion_time_init without getting
a link time warning.

Without this patch, building mv78xx0_defconfig results in:

WARNING: vmlinux.o(.text+0x15470): Section mismatch in reference from the function mv78xx0_timer_init() to the function .init.text:orion_time_init()
The function mv78xx0_timer_init() references
the function __init orion_time_init().
This is often because mv78xx0_timer_init lacks a __init
annotation or the annotation of orion_time_init is wrong.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
arch/arm/mach-mv78xx0/common.c

index 3057f7d4329a7f3a17b247e5ce31df4e7f21643a..e251ebc722895937f0896d5125103c7e87bc9b23 100644 (file)
@@ -341,7 +341,7 @@ void __init mv78xx0_init_early(void)
        orion_time_set_base(TIMER_VIRT_BASE);
 }
 
-static void mv78xx0_timer_init(void)
+static void __init_refok mv78xx0_timer_init(void)
 {
        orion_time_init(BRIDGE_VIRT_BASE, BRIDGE_INT_TIMER1_CLR,
                        IRQ_MV78XX0_TIMER_1, get_tclk());