summaryrefslogtreecommitdiff
path: root/backport-include/linux/completion.h
diff options
context:
space:
mode:
Diffstat (limited to 'backport-include/linux/completion.h')
-rw-r--r--backport-include/linux/completion.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/backport-include/linux/completion.h b/backport-include/linux/completion.h
new file mode 100644
index 0000000..f8ce5b1
--- /dev/null
+++ b/backport-include/linux/completion.h
@@ -0,0 +1,21 @@
+#ifndef __BACKPORT_COMPLETION_H
+#define __BACKPORT_COMPLETION_H
+#include_next <linux/completion.h>
+#include <linux/version.h>
+
+#if LINUX_VERSION_IS_LESS(3,13,0)
+/**
+ * reinit_completion - reinitialize a completion structure
+ * @x: pointer to completion structure that is to be reinitialized
+ *
+ * This inline function should be used to reinitialize a completion structure so it can
+ * be reused. This is especially important after complete_all() is used.
+ */
+#define reinit_completion LINUX_BACKPORT(reinit_completion)
+static inline void reinit_completion(struct completion *x)
+{
+ x->done = 0;
+}
+#endif /* LINUX_VERSION_IS_LESS(3,13,0) */
+
+#endif /* __BACKPORT_COMPLETION_H */