Pārlūkot izejas kodu

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>
Magnus Damm 15 gadi atpakaļ
vecāks
revīzija
65a5b28f0a
1 mainītis faili ar 9 papildinājumiem un 1 dzēšanām
  1. 9 1
      drivers/sh/intc.c

+ 9 - 1
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;
 }