summaryrefslogtreecommitdiff
path: root/include/linux/wait.h
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2025-10-13 15:32:13 +0300
committerMark Brown <broonie@kernel.org>2025-10-13 15:32:13 +0300
commit4f38da1f027ea2c9f01bb71daa7a299c191b6940 (patch)
tree701d1096f1a3df53ecf2a0231d2ed9a868c9b4b3 /include/linux/wait.h
parent18a5f1af596e6ba22cd40ada449063041f3ce6d4 (diff)
parent3a8660878839faadb4f1a6dd72c3179c1df56787 (diff)
downloadlinux-4f38da1f027ea2c9f01bb71daa7a299c191b6940.tar.xz
spi: Merge up v6.18-rc1
Ensure my CI has a sensible baseline.
Diffstat (limited to 'include/linux/wait.h')
-rw-r--r--include/linux/wait.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/wait.h b/include/linux/wait.h
index 09855d819418..f648044466d5 100644
--- a/include/linux/wait.h
+++ b/include/linux/wait.h
@@ -965,6 +965,18 @@ extern int do_wait_intr_irq(wait_queue_head_t *, wait_queue_entry_t *);
__ret; \
})
+#define __wait_event_state_exclusive(wq, condition, state) \
+ ___wait_event(wq, condition, state, 1, 0, schedule())
+
+#define wait_event_state_exclusive(wq, condition, state) \
+({ \
+ int __ret = 0; \
+ might_sleep(); \
+ if (!(condition)) \
+ __ret = __wait_event_state_exclusive(wq, condition, state); \
+ __ret; \
+})
+
#define __wait_event_killable_timeout(wq_head, condition, timeout) \
___wait_event(wq_head, ___wait_cond_timeout(condition), \
TASK_KILLABLE, 0, timeout, \