summaryrefslogtreecommitdiffstats
path: root/drivers/sh/intc.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2010-02-05 11:15:25 +0000
committerPaul Mundt <lethal@linux-sh.org>2010-02-08 12:45:48 +0900
commit65a5b28f0af00dddd785b516914739460562638f (patch)
tree9a3385f82aefebc9775d97a02d239d671cbcf0a6 /drivers/sh/intc.c
parent13d605de2ece8c8f7c17a88747d90b7931350ee5 (diff)
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 d5d7f23c19a..926013bece1 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;
}