aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/sh/intc.c
diff options
context:
space:
mode:
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 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
767static unsigned int __init save_reg(struct intc_desc_int *d, 771static 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)
1024out_unlock: 1028out_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}