arc: remove '__init' for first_lines_of_secondary()
authorChen Gang <gang.chen@asianux.com>
Wed, 23 Oct 2013 02:16:38 +0000 (10:16 +0800)
committerVineet Gupta <vgupta@synopsys.com>
Wed, 6 Nov 2013 05:11:43 +0000 (10:41 +0530)
first_lines_of_secondary() is a '__init' function, but it may be called
by __cpu_up() by _cpu_up() by cpu_up() which is a normal export symbol
function. So recommend to remove '__init'.

The related warning (with allmodconfig):

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

Signed-off-by: Chen Gang <gang.chen@asianux.com>
arch/arc/include/asm/smp.h
arch/arc/kernel/head.S

index c4fb211dcd25bef135c78ea0683e71d9259a8c20..eefc29f08cdbe4ba0ea3f4b12d8f1234d59c0527 100644 (file)
@@ -30,7 +30,7 @@ extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
  * APIs provided by arch SMP code to rest of arch code
  */
 extern void __init smp_init_cpus(void);
-extern void __init first_lines_of_secondary(void);
+extern void first_lines_of_secondary(void);
 extern const char *arc_platform_smp_cpuinfo(void);
 
 /*
index 0f944f0245134baa37b33b32550a1fc0c528932b..2c878e964a64a0d50d90b72ad633a31f06597f29 100644 (file)
@@ -95,7 +95,7 @@ stext:
 ;----------------------------------------------------------------
 ;     First lines of code run by secondary before jumping to 'C'
 ;----------------------------------------------------------------
-       .section .init.text, "ax",@progbits
+       .section .text, "ax",@progbits
        .type first_lines_of_secondary, @function
        .globl first_lines_of_secondary