summaryrefslogtreecommitdiff
path: root/include/linux/closure.h
diff options
context:
space:
mode:
authorRodrigo Vivi <rodrigo.vivi@intel.com>2024-06-12 18:31:42 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2024-06-12 18:31:42 +0300
commit89aa02edaa30e4327ebc8fca9b80795bbfd4ce9b (patch)
tree10c96a25b500be034e38db049a22f53881b0fb4d /include/linux/closure.h
parentec3ac2c8d941dad959dcdc760aa43bc45785d346 (diff)
parent1ddaaa244021aba8496536a6627b4ad2bc0f936a (diff)
downloadlinux-89aa02edaa30e4327ebc8fca9b80795bbfd4ce9b.tar.xz
Merge drm/drm-next into drm-xe-next
Needed to get tracing cleanup and add mmio tracing series. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'include/linux/closure.h')
-rw-r--r--include/linux/closure.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/closure.h b/include/linux/closure.h
index c554c6a08768..99155df162d0 100644
--- a/include/linux/closure.h
+++ b/include/linux/closure.h
@@ -194,6 +194,18 @@ static inline void closure_sync(struct closure *cl)
__closure_sync(cl);
}
+int __closure_sync_timeout(struct closure *cl, unsigned long timeout);
+
+static inline int closure_sync_timeout(struct closure *cl, unsigned long timeout)
+{
+#ifdef CONFIG_DEBUG_CLOSURES
+ BUG_ON(closure_nr_remaining(cl) != 1 && !cl->closure_get_happened);
+#endif
+ return cl->closure_get_happened
+ ? __closure_sync_timeout(cl, timeout)
+ : 0;
+}
+
#ifdef CONFIG_DEBUG_CLOSURES
void closure_debug_create(struct closure *cl);