diff options
author | Yinghai Lu <yinghai@kernel.org> | 2008-12-26 05:05:47 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-12-27 07:24:00 -0500 |
commit | 13a0c3c269b223f60abfac8a9811d77111a8b4ba (patch) | |
tree | b57a92eb9eb7c8c1de30bbe29b6a461289e75c62 /include/linux/irq.h | |
parent | 793f7b12a0c95e7bfec1badf9628043fb78fd440 (diff) |
sparseirq: work around compiler optimizing away __weak functions
Impact: fix panic on null pointer with sparseirq
Some GCC versions seem to inline the weak global function,
when that function is empty.
Work it around, by making the functions return a (dummy) integer.
Signed-off-by: Yinghai <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r-- | include/linux/irq.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index 69da275c0ebd..0e40af4bac40 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -193,9 +193,9 @@ struct irq_desc { | |||
193 | const char *name; | 193 | const char *name; |
194 | } ____cacheline_internodealigned_in_smp; | 194 | } ____cacheline_internodealigned_in_smp; |
195 | 195 | ||
196 | extern void early_irq_init(void); | 196 | extern int early_irq_init(void); |
197 | extern void arch_early_irq_init(void); | 197 | extern int arch_early_irq_init(void); |
198 | extern void arch_init_chip_data(struct irq_desc *desc, int cpu); | 198 | extern int arch_init_chip_data(struct irq_desc *desc, int cpu); |
199 | extern void arch_init_copy_chip_data(struct irq_desc *old_desc, | 199 | extern void arch_init_copy_chip_data(struct irq_desc *old_desc, |
200 | struct irq_desc *desc, int cpu); | 200 | struct irq_desc *desc, int cpu); |
201 | extern void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc); | 201 | extern void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc); |