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 | |
| 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')
| -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); |
