diff options
author | Chen Gang <gang.chen@asianux.com> | 2013-10-22 23:02:51 -0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-11-06 00:11:43 -0500 |
commit | 4782f7f9aeba4dfd383c532e96bebf83ce0b9748 (patch) | |
tree | aeae5507acc2959e035e93efba2b8746cdd089c1 | |
parent | 8f5d221b0641a9a16311a6e5c056a5b583ef0cbb (diff) |
arc: remove '__init' for get_hw_config_num_irq()
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>
-rw-r--r-- | arch/arc/include/asm/irq.h | 2 | ||||
-rw-r--r-- | arch/arc/kernel/irq.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arc/include/asm/irq.h b/arch/arc/include/asm/irq.h index 548207f073da..291a70db68b8 100644 --- a/arch/arc/include/asm/irq.h +++ b/arch/arc/include/asm/irq.h | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm-generic/irq.h> | 19 | #include <asm-generic/irq.h> |
20 | 20 | ||
21 | extern void arc_init_IRQ(void); | 21 | extern void arc_init_IRQ(void); |
22 | extern int __init get_hw_config_num_irq(void); | 22 | extern int get_hw_config_num_irq(void); |
23 | 23 | ||
24 | void arc_local_timer_setup(unsigned int cpu); | 24 | void arc_local_timer_setup(unsigned int cpu); |
25 | 25 | ||
diff --git a/arch/arc/kernel/irq.c b/arch/arc/kernel/irq.c index 02684e1a0cf0..a4b141ee9a6a 100644 --- a/arch/arc/kernel/irq.c +++ b/arch/arc/kernel/irq.c | |||
@@ -150,7 +150,7 @@ void arch_do_IRQ(unsigned int irq, struct pt_regs *regs) | |||
150 | set_irq_regs(old_regs); | 150 | set_irq_regs(old_regs); |
151 | } | 151 | } |
152 | 152 | ||
153 | int __init get_hw_config_num_irq(void) | 153 | int get_hw_config_num_irq(void) |
154 | { | 154 | { |
155 | uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR); | 155 | uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR); |
156 | 156 | ||