diff options
author | Jamie Lenehan <lenehan@twibble.org> | 2006-10-30 22:35:02 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2006-10-30 22:53:28 -0500 |
commit | bd71ab88deab3358241f22ed6c035c427aacc4e7 (patch) | |
tree | 632aa998acac7feb7df79684f4c382a6d6bf2294 /include/asm-sh/irq.h | |
parent | 1f6c526c409ed7ecdd02469c46ab4b4a50ebec45 (diff) |
sh: Fix IPR-IRQ's for IRQ-chip change breakage.
The conversion from IPR-IRQ to IRQ-chip resulted in the
ipr data being allocated in a local variable in
make_ipr_irq - breaking anything using IPR interrupts.
This changes all of the callers of make_ipr_irq to
allocate a static structure containing the IPR data which
is then passed to make_ipr_irq. This removes the need for
make_ipr_irq to allocate any additional space for the IPR
information.
Signed-off-by: Jamie Lenehan <lenehan@twibble.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh/irq.h')
-rw-r--r-- | include/asm-sh/irq.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/asm-sh/irq.h b/include/asm-sh/irq.h index 7596ab83e0d4..6cd3e9e2a76a 100644 --- a/include/asm-sh/irq.h +++ b/include/asm-sh/irq.h | |||
@@ -327,11 +327,17 @@ extern unsigned short *irq_mask_register; | |||
327 | */ | 327 | */ |
328 | void init_IRQ_pint(void); | 328 | void init_IRQ_pint(void); |
329 | 329 | ||
330 | struct ipr_data { | ||
331 | unsigned int irq; | ||
332 | unsigned int addr; /* Address of Interrupt Priority Register */ | ||
333 | int shift; /* Shifts of the 16-bit data */ | ||
334 | int priority; /* The priority */ | ||
335 | }; | ||
336 | |||
330 | /* | 337 | /* |
331 | * Function for "on chip support modules". | 338 | * Function for "on chip support modules". |
332 | */ | 339 | */ |
333 | extern void make_ipr_irq(unsigned int irq, unsigned int addr, | 340 | extern void make_ipr_irq(struct ipr_data *table, unsigned int nr_irqs); |
334 | int pos, int priority); | ||
335 | extern void make_imask_irq(unsigned int irq); | 341 | extern void make_imask_irq(unsigned int irq); |
336 | 342 | ||
337 | #if defined(CONFIG_CPU_SUBTYPE_SH7300) | 343 | #if defined(CONFIG_CPU_SUBTYPE_SH7300) |