summaryrefslogtreecommitdiffstats
path: root/kernel/include/linux/irq.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/include/linux/irq.h')
-rw-r--r--kernel/include/linux/irq.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/include/linux/irq.h b/kernel/include/linux/irq.h
index 311d3f061..dac9e11ba 100644
--- a/kernel/include/linux/irq.h
+++ b/kernel/include/linux/irq.h
@@ -918,6 +918,16 @@ static inline void irq_gc_lock(struct irq_chip_generic *gc) { }
static inline void irq_gc_unlock(struct irq_chip_generic *gc) { }
#endif
+/*
+ * The irqsave variants are for usage in non interrupt code. Do not use
+ * them in irq_chip callbacks. Use irq_gc_lock() instead.
+ */
+#define irq_gc_lock_irqsave(gc, flags) \
+ raw_spin_lock_irqsave(&(gc)->lock, flags)
+
+#define irq_gc_unlock_irqrestore(gc, flags) \
+ raw_spin_unlock_irqrestore(&(gc)->lock, flags)
+
static inline void irq_reg_writel(struct irq_chip_generic *gc,
u32 val, int reg_offset)
{