arc: remove '__init' for get_hw_config_num_irq()
authorChen Gang <gang.chen@asianux.com>
Wed, 23 Oct 2013 03:02:51 +0000 (11:02 +0800)
committerVineet Gupta <vgupta@synopsys.com>
Wed, 6 Nov 2013 05:11:43 +0000 (10:41 +0530)
get_hw_config_num_irq() may be called by normal iss_model_init_smp()
which is a function pointer for 'init_smp' which may be called by
first_lines_of_secondary() which also need be normal too.

The related warning (with allmodconfig):

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

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

index 548207f073dabc576bedabc0d8419490b03e096b..291a70db68b8b0fa0d262a79d80d7e9be9681c0e 100644 (file)
@@ -19,7 +19,7 @@
 #include <asm-generic/irq.h>
 
 extern void arc_init_IRQ(void);
-extern int __init get_hw_config_num_irq(void);
+extern int get_hw_config_num_irq(void);
 
 void arc_local_timer_setup(unsigned int cpu);
 
index 02684e1a0cf05b3eb2ac776643bfb4b820317217..a4b141ee9a6a19c9e6e4001583fc7b6637b3f1f4 100644 (file)
@@ -150,7 +150,7 @@ void arch_do_IRQ(unsigned int irq, struct pt_regs *regs)
        set_irq_regs(old_regs);
 }
 
-int __init get_hw_config_num_irq(void)
+int get_hw_config_num_irq(void)
 {
        uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR);