genirq: Provide setter inline for IRQD_IRQ_INPROGRESS
authorThomas Gleixner <tglx@linutronix.de>
Mon, 28 Mar 2011 14:41:14 +0000 (16:41 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 28 Mar 2011 14:55:12 +0000 (16:55 +0200)
Special function for demultiplexing handlers which can be disabled via
disable_irq().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/irq.h

index 41fc783..84e1c58 100644 (file)
@@ -256,6 +256,21 @@ static inline bool irqd_irq_inprogress(struct irq_data *d)
        return d->state_use_accessors & IRQD_IRQ_INPROGRESS;
 }
 
+/*
+ * Functions for chained handlers which can be enabled/disabled by the
+ * standard disable_irq/enable_irq calls. Must be called with
+ * irq_desc->lock held.
+ */
+static inline void irqd_set_chained_irq_inprogress(struct irq_data *d)
+{
+       d->state_use_accessors |= IRQD_IRQ_INPROGRESS;
+}
+
+static inline void irqd_clr_chained_irq_inprogress(struct irq_data *d)
+{
+       d->state_use_accessors &= ~IRQD_IRQ_INPROGRESS;
+}
+
 /**
  * struct irq_chip - hardware interrupt chip descriptor
  *