arc: remove '__init' for setup_processor() and arc_init_IRQ()
authorChen Gang <gang.chen@asianux.com>
Wed, 23 Oct 2013 02:12:05 +0000 (10:12 +0800)
committerVineet Gupta <vgupta@synopsys.com>
Wed, 6 Nov 2013 05:11:42 +0000 (10:41 +0530)
They haven't '__init' in definition, but has '__init' in declaration.
And normal function start_kernel_secondary() may call setup_processor()
which will call arc_init_IRQ().

So need remove '__init' for both of them. The related warning (with
allmodconfig):

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

Signed-off-by: Chen Gang <gang.chen@asianux.com>
arch/arc/include/asm/irq.h
arch/arc/include/asm/setup.h

index c0a72105ee0b0946e57a094b24fa5bbb3cb8f425..548207f073dabc576bedabc0d8419490b03e096b 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <asm-generic/irq.h>
 
-extern void __init arc_init_IRQ(void);
+extern void arc_init_IRQ(void);
 extern int __init get_hw_config_num_irq(void);
 
 void arc_local_timer_setup(unsigned int cpu);
index 229e506814970aa0cbec36c60a8a4b62f9e0cab1..e10f8cef56a8efcaaaf1ff77190ed8125b2d3e1a 100644 (file)
@@ -31,7 +31,7 @@ struct cpuinfo_data {
 extern int root_mountflags, end_mem;
 extern int running_on_hw;
 
-void __init setup_processor(void);
+void setup_processor(void);
 void __init setup_arch_memory(void);
 
 #endif /* __ASMARC_SETUP_H */