summaryrefslogtreecommitdiffstats
path: root/drivers/sh/intc.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2010-02-05 12:15:25 +0100
committerPaul Mundt <lethal@linux-sh.org>2010-02-08 04:45:48 +0100
commit65a5b28f0af00dddd785b516914739460562638f (patch)
tree9a3385f82aefebc9775d97a02d239d671cbcf0a6 /drivers/sh/intc.c
parentsh: Build drivers/sh for ARM-based SH-Mobile CPUs. (diff)
downloadlinux-65a5b28f0af00dddd785b516914739460562638f.tar.xz
linux-65a5b28f0af00dddd785b516914739460562638f.zip
sh: Let INTC set IRQF_VALID on ARM platforms.
Reuse the SuperH INTC code on ARM by using set_irq_flags() to set IRQF_VALID on ARM platforms. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/sh/intc.c')
-rw-r--r--drivers/sh/intc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/sh/intc.c b/drivers/sh/intc.c
index d5d7f23c19a5..926013bece12 100644
--- a/drivers/sh/intc.c
+++ b/drivers/sh/intc.c
@@ -658,6 +658,10 @@ static void __init intc_register_irq(struct intc_desc *desc,
if (desc->ack_regs)
ack_handle[irq] = intc_ack_data(desc, d, enum_id);
+
+#ifdef CONFIG_ARM
+ set_irq_flags(irq, IRQF_VALID); /* Enable IRQ on ARM systems */
+#endif
}
static unsigned int __init save_reg(struct intc_desc_int *d,
@@ -902,8 +906,12 @@ static unsigned int create_irq_on_node(unsigned int irq_want, int node)
out_unlock:
spin_unlock_irqrestore(&vector_lock, flags);
- if (irq > 0)
+ if (irq > 0) {
dynamic_irq_init(irq);
+#ifdef CONFIG_ARM
+ set_irq_flags(irq, IRQF_VALID); /* Enable IRQ on ARM systems */
+#endif
+ }
return irq;
}