Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arc: remove '__init' for setup_processor() and arc_init_IRQ()

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>

authored by

Chen Gang and committed by
Vineet Gupta
ef3a661a 3d01c1ce

+2 -2
+1 -1
arch/arc/include/asm/irq.h
··· 18 18 19 19 #include <asm-generic/irq.h> 20 20 21 - extern void __init arc_init_IRQ(void); 21 + extern void arc_init_IRQ(void); 22 22 extern int __init get_hw_config_num_irq(void); 23 23 24 24 void arc_local_timer_setup(unsigned int cpu);
+1 -1
arch/arc/include/asm/setup.h
··· 31 31 extern int root_mountflags, end_mem; 32 32 extern int running_on_hw; 33 33 34 - void __init setup_processor(void); 34 + void setup_processor(void); 35 35 void __init setup_arch_memory(void); 36 36 37 37 #endif /* __ASMARC_SETUP_H */