diff options
author | Magnus Damm <damm@igel.co.jp> | 2007-08-03 01:23:35 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-09-20 22:57:47 -0400 |
commit | d59645d6ba67337ff09369d9da4fc47f7dc361cc (patch) | |
tree | cd5e81d64ec7e6a4ea22a6f2e45ddf27e1140567 /arch/sh/kernel/cpu/sh4/setup-sh7750.c | |
parent | ad89f87a84040a57c4a78ca2759b364f72f423ab (diff) |
sh: intc - remove redundant irq code for sh03, snapgear and titan
This patch removes redundant board specific interrupt code for boards
using sh775x processors and 4 IRQ lines in "Individual Interrupt Mode"
aka IRLM.
Three boards are affected: sh03, snapgear and titan.
The right way to do this is to use cpu specific code provided by intc.
A nice side effect is that sh03 now compiles, board not BROKEN any more.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/cpu/sh4/setup-sh7750.c')
-rw-r--r-- | arch/sh/kernel/cpu/sh4/setup-sh7750.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7750.c b/arch/sh/kernel/cpu/sh4/setup-sh7750.c index f2286de22bd5..e313be249840 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7750.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7750.c | |||
@@ -282,13 +282,19 @@ void __init plat_irq_setup(void) | |||
282 | #define INTC_ICR 0xffd00000UL | 282 | #define INTC_ICR 0xffd00000UL |
283 | #define INTC_ICR_IRLM (1<<7) | 283 | #define INTC_ICR_IRLM (1<<7) |
284 | 284 | ||
285 | /* enable individual interrupt mode for external interupts */ | 285 | void __init plat_irq_setup_pins(int mode) |
286 | void __init ipr_irq_enable_irlm(void) | ||
287 | { | 286 | { |
288 | #if defined(CONFIG_CPU_SUBTYPE_SH7750) || defined(CONFIG_CPU_SUBTYPE_SH7091) | 287 | #if defined(CONFIG_CPU_SUBTYPE_SH7750) || defined(CONFIG_CPU_SUBTYPE_SH7091) |
289 | BUG(); /* impossible to mask interrupts on SH7750 and SH7091 */ | 288 | BUG(); /* impossible to mask interrupts on SH7750 and SH7091 */ |
289 | return; | ||
290 | #endif | 290 | #endif |
291 | register_intc_controller(&intc_desc_irlm); | ||
292 | 291 | ||
293 | ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR); | 292 | switch (mode) { |
293 | case IRQ_MODE_IRQ: /* individual interrupt mode for IRL3-0 */ | ||
294 | ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR); | ||
295 | register_intc_controller(&intc_desc_irlm); | ||
296 | break; | ||
297 | default: | ||
298 | BUG(); | ||
299 | } | ||
294 | } | 300 | } |