summaryrefslogtreecommitdiff
path: root/include/linux/errseq.h
diff options
context:
space:
mode:
authorSean Paul <seanpaul@chromium.org>2017-08-14 13:14:36 -0400
committerSean Paul <seanpaul@chromium.org>2017-08-14 13:14:36 -0400
commit1724c7c0c9494dcbdd7f630f29e1e8427cb231d1 (patch)
treed7c7ad032289cdf0633feee4bd6ec5800b666ca7 /include/linux/errseq.h
parent7f5d6dac548b983702dd7aac1d463bd88dff50a8 (diff)
parentef954844c7ace62f773f4f23e28d2d915adc419f (diff)
Merge origin/master into drm-misc-fixes
Backmerge 4.13-rc5 into drm-misc-fixes, it was getting a little stale. Signed-off-by: Sean Paul <seanpaul@chromium.org>
Diffstat (limited to 'include/linux/errseq.h')
-rw-r--r--include/linux/errseq.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/errseq.h b/include/linux/errseq.h
new file mode 100644
index 000000000000..9e0d444ac88d
--- /dev/null
+++ b/include/linux/errseq.h
@@ -0,0 +1,19 @@
+#ifndef _LINUX_ERRSEQ_H
+#define _LINUX_ERRSEQ_H
+
+/* See lib/errseq.c for more info */
+
+typedef u32 errseq_t;
+
+errseq_t __errseq_set(errseq_t *eseq, int err);
+static inline void errseq_set(errseq_t *eseq, int err)
+{
+ /* Optimize for the common case of no error */
+ if (unlikely(err))
+ __errseq_set(eseq, err);
+}
+
+errseq_t errseq_sample(errseq_t *eseq);
+int errseq_check(errseq_t *eseq, errseq_t since);
+int errseq_check_and_advance(errseq_t *eseq, errseq_t *since);
+#endif