Message ID | 1380458478-2324-1-git-send-email-murzin.v@gmail.com (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | 8616dff5b0e969444cc8484875ebd936956b5c0d |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
On Sun, Sep 29, 2013 at 02:41:18PM +0200, Vladimir Murzin wrote: > 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. Yep looks good. Acked-by: Michael Ellerman <michael@ellerman.id.au> cheers
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c index 3fc16e3..0620eaa 100644 --- a/arch/powerpc/kernel/paca.c +++ b/arch/powerpc/kernel/paca.c @@ -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;
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> --- arch/powerpc/kernel/paca.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)