aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Torokhov <[email protected]>2024-06-06 14:39:44 -0700
committerDmitry Torokhov <[email protected]>2024-06-06 14:39:44 -0700
commit18547925519acaa57c1877871c144e2646249d59 (patch)
tree2f86c83569982b670a93244ccbdc5c45050c09f3
parent7ba38c2a9e1a8d11d5286ef8e14f86247d5443ff (diff)
parentc76494768761aef7630e7e0db820ba7b375964da (diff)
Merge branch 'ib/6.9-disable-irq-guard' into next
This brings in support for guard(disable_irq)(...);
-rw-r--r--include/linux/interrupt.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 5c9bdd3ffccc..3a36e64119c8 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -5,6 +5,7 @@
#include <linux/kernel.h>
#include <linux/bitops.h>
+#include <linux/cleanup.h>
#include <linux/cpumask.h>
#include <linux/irqreturn.h>
#include <linux/irqnr.h>
@@ -235,6 +236,9 @@ extern void enable_percpu_irq(unsigned int irq, unsigned int type);
extern bool irq_percpu_is_enabled(unsigned int irq);
extern void irq_wake_thread(unsigned int irq, void *dev_id);
+DEFINE_LOCK_GUARD_1(disable_irq, int,
+ disable_irq(*_T->lock), enable_irq(*_T->lock))
+
extern void disable_nmi_nosync(unsigned int irq);
extern void disable_percpu_nmi(unsigned int irq);
extern void enable_nmi(unsigned int irq);