diff options
author | Magnus Damm <damm@opensource.se> | 2010-02-05 06:15:25 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-02-07 22:45:48 -0500 |
commit | 65a5b28f0af00dddd785b516914739460562638f (patch) | |
tree | 9a3385f82aefebc9775d97a02d239d671cbcf0a6 /drivers/sh | |
parent | 13d605de2ece8c8f7c17a88747d90b7931350ee5 (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')
-rw-r--r-- | drivers/sh/intc.c | 10 |
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, | |||
658 | 658 | ||
659 | if (desc->ack_regs) | 659 | if (desc->ack_regs) |
660 | ack_handle[irq] = intc_ack_data(desc, d, enum_id); | 660 | ack_handle[irq] = intc_ack_data(desc, d, enum_id); |
661 | |||
662 | #ifdef CONFIG_ARM | ||
663 | set_irq_flags(irq, IRQF_VALID); /* Enable IRQ on ARM systems */ | ||
664 | #endif | ||
661 | } | 665 | } |
662 | 666 | ||
663 | static unsigned int __init save_reg(struct intc_desc_int *d, | 667 | 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) | |||
902 | out_unlock: | 906 | out_unlock: |
903 | spin_unlock_irqrestore(&vector_lock, flags); | 907 | spin_unlock_irqrestore(&vector_lock, flags); |
904 | 908 | ||
905 | if (irq > 0) | 909 | if (irq > 0) { |
906 | dynamic_irq_init(irq); | 910 | dynamic_irq_init(irq); |
911 | #ifdef CONFIG_ARM | ||
912 | set_irq_flags(irq, IRQF_VALID); /* Enable IRQ on ARM systems */ | ||
913 | #endif | ||
914 | } | ||
907 | 915 | ||
908 | return irq; | 916 | return irq; |
909 | } | 917 | } |