patch-2.4.25 linux-2.4.25/include/asm-ppc64/hw_irq.h

Next file: linux-2.4.25/include/asm-ppc64/iSeries/HvCall.h
Previous file: linux-2.4.25/include/asm-ppc64/hvcall.h
Back to the patch index
Back to the overall index

diff -urN linux-2.4.24/include/asm-ppc64/hw_irq.h linux-2.4.25/include/asm-ppc64/hw_irq.h
@@ -71,9 +71,21 @@
 
 #endif /* CONFIG_PPC_ISERIES */
 
-#define mask_irq(irq) ({if (irq_desc[irq].handler && irq_desc[irq].handler->disable) irq_desc[irq].handler->disable(irq);})
-#define unmask_irq(irq) ({if (irq_desc[irq].handler && irq_desc[irq].handler->enable) irq_desc[irq].handler->enable(irq);})
-#define ack_irq(irq) ({if (irq_desc[irq].handler && irq_desc[irq].handler->ack) irq_desc[irq].handler->ack(irq);})
+#define mask_irq(irq) ({ 				\
+	irq_desc_t *desc = irqdesc(irq);		\
+	if (desc->handler && desc->handler->disable)	\
+		desc->handler->disable(irq);		\
+})
+#define unmask_irq(irq) ({				\
+	irq_desc_t *desc = irqdesc(irq);		\
+	if (desc->handler && desc->handler->enable)	\
+		desc->handler->enable(irq);		\
+})
+#define ack_irq(irq) ({					\
+	irq_desc_t *desc = irqdesc(irq);		\
+	if (desc->handler && desc->handler->ack)	\
+		desc->handler->ack(irq);		\
+})
 
 /* Should we handle this via lost interrupts and IPIs or should we don't care like
  * we do now ? --BenH.

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)