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 3a5a17db9474..c2750391fd34 100644 --- a/drivers/sh/intc.c +++ b/drivers/sh/intc.c | |||
@@ -762,6 +762,10 @@ static void __init intc_register_irq(struct intc_desc *desc, | |||
762 | 762 | ||
763 | if (desc->hw.ack_regs) | 763 | if (desc->hw.ack_regs) |
764 | ack_handle[irq] = intc_ack_data(desc, d, enum_id); | 764 | ack_handle[irq] = intc_ack_data(desc, d, enum_id); |
765 | |||
766 | #ifdef CONFIG_ARM | ||
767 | set_irq_flags(irq, IRQF_VALID); /* Enable IRQ on ARM systems */ | ||
768 | #endif | ||
765 | } | 769 | } |
766 | 770 | ||
767 | static unsigned int __init save_reg(struct intc_desc_int *d, | 771 | static unsigned int __init save_reg(struct intc_desc_int *d, |
@@ -1024,8 +1028,12 @@ unsigned int create_irq_nr(unsigned int irq_want, int node) | |||
1024 | out_unlock: | 1028 | out_unlock: |
1025 | spin_unlock_irqrestore(&vector_lock, flags); | 1029 | spin_unlock_irqrestore(&vector_lock, flags); |
1026 | 1030 | ||
1027 | if (irq > 0) | 1031 | if (irq > 0) { |
1028 | dynamic_irq_init(irq); | 1032 | dynamic_irq_init(irq); |
1033 | #ifdef CONFIG_ARM | ||
1034 | set_irq_flags(irq, IRQF_VALID); /* Enable IRQ on ARM systems */ | ||
1035 | #endif | ||
1036 | } | ||
1029 | 1037 | ||
1030 | return irq; | 1038 | return irq; |
1031 | } | 1039 | } |