diff options
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 | } |