powerpc: Fix section mismatch warning in free_lppacas

While cross-building for PPC64 I've got bunch of

WARNING: arch/powerpc/kernel/built-in.o(.text.unlikely+0x2d2): Section
mismatch in reference from the function .free_lppacas() to the variable
.init.data:lppaca_size The function .free_lppacas() references the variable
__initdata lppaca_size. This is often because .free_lppacas lacks a __initdata
annotation or the annotation of lppaca_size is wrong.

Fix it by using proper annotation for free_lppacas. Additionally, annotate
{allocate,new}_llpcas properly.

Signed-off-by: Vladimir Murzin <murzin.v@gmail.com>
Acked-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Vladimir Murzin 2013-09-29 14:41:18 +02:00 committed by Benjamin Herrenschmidt
parent 0edfdd10f5
commit 8616dff5b0

View File

@ -46,7 +46,7 @@ struct lppaca lppaca[] = {
static struct lppaca *extra_lppacas;
static long __initdata lppaca_size;
static void allocate_lppacas(int nr_cpus, unsigned long limit)
static void __init allocate_lppacas(int nr_cpus, unsigned long limit)
{
if (nr_cpus <= NR_LPPACAS)
return;
@ -57,7 +57,7 @@ static void allocate_lppacas(int nr_cpus, unsigned long limit)
PAGE_SIZE, limit));
}
static struct lppaca *new_lppaca(int cpu)
static struct lppaca * __init new_lppaca(int cpu)
{
struct lppaca *lp;
@ -70,7 +70,7 @@ static struct lppaca *new_lppaca(int cpu)
return lp;
}
static void free_lppacas(void)
static void __init free_lppacas(void)
{
long new_size = 0, nr;