소스 검색

genirq: Provide setter inline for IRQD_IRQ_INPROGRESS

Special function for demultiplexing handlers which can be disabled via
disable_irq().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner 14 년 전
부모
커밋
9cff60dfc3
1개의 변경된 파일15개의 추가작업 그리고 0개의 파일을 삭제
  1. 15 0
      include/linux/irq.h

+ 15 - 0
include/linux/irq.h

@@ -256,6 +256,21 @@ static inline bool irqd_irq_inprogress(struct irq_data *d)
 	return d->state_use_accessors & IRQD_IRQ_INPROGRESS;
 	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
  * struct irq_chip - hardware interrupt chip descriptor
  *
  *