powerpc: Fix section mismatch warning for prom_rtas_call
authorVladimir Murzin <murzin.v@gmail.com>
Tue, 10 Sep 2013 16:42:07 +0000 (18:42 +0200)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 11 Sep 2013 01:39:38 +0000 (11:39 +1000)
While cross-building for PPC64 I've got

WARNING: vmlinux.o(.text.unlikely+0x1ba): Section mismatch in
reference from the function .prom_rtas_call() to the variable
.init.data:dt_string_start The function .prom_rtas_call() references
the variable __initdata dt_string_start.  This is often because
.prom_rtas_call lacks a __initdata annotation or the annotation of
dt_string_start is wrong.

WARNING: vmlinux.o(.meminit.text+0xeb0): Section mismatch in reference
from the function .free_area_init_core.isra.47() to the function
.init.text:.set_pageblock_order() The function __meminit
.free_area_init_core.isra.47() references a function __init
.set_pageblock_order().  If .set_pageblock_order is only used by
.free_area_init_core.isra.47 then annotate .set_pageblock_order with a
matching annotation.

Fix it by proper annotation of prom_rtas_call.

Signed-off-by: Vladimir Murzin <murzin.v@gmail.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/prom_init.c

index 7b6391b..12e656f 100644 (file)
@@ -1297,7 +1297,8 @@ static void __init prom_query_opal(void)
                prom_opal_align = 0x10000;
 }
 
-static int prom_rtas_call(int token, int nargs, int nret, int *outputs, ...)
+static int __init prom_rtas_call(int token, int nargs, int nret,
+                                int *outputs, ...)
 {
        struct rtas_args rtas_args;
        va_list list;