[tip:perf/core] tools include: Adopt ERR_CAST() from the kernel err.h header
From: tip-bot for Arnaldo Carvalho de Melo
Date: Tue Dec 18 2018 - 08:53:49 EST
Commit-ID: 92151b0a230ce2792e4b2b1f43ca3ea80a83292e
Gitweb: https://git.kernel.org/tip/92151b0a230ce2792e4b2b1f43ca3ea80a83292e
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
AuthorDate: Tue, 27 Nov 2018 09:56:55 -0300
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Mon, 17 Dec 2018 14:54:34 -0300
tools include: Adopt ERR_CAST() from the kernel err.h header
Add ERR_CAST(), so that tools can use it, just like the kernel.
This addresses coccinelle checks that are being performed to tools/ in
addition to kernel sources, so lets add this to cover that and to get
tools code closer to kernel coding standards.
This originally was introduced in the kernel headers in this cset:
d1bc8e954452 ("Add an ERR_CAST() function to complement ERR_PTR and co.")
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: David Howells <dhowells@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Julia Lawall <julia.lawall@xxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Cc: Wen Yang <yellowriver2010@xxxxxxxxxxx>
Cc: zhong.weidong@xxxxxxxxxx
Link: https://lkml.kernel.org/n/tip-tlt97p066zyhzqhl5jt86og7@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/include/linux/err.h | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h
index 094649667bae..2f5a12b88a86 100644
--- a/tools/include/linux/err.h
+++ b/tools/include/linux/err.h
@@ -59,4 +59,17 @@ static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr)
else
return 0;
}
+
+/**
+ * ERR_CAST - Explicitly cast an error-valued pointer to another pointer type
+ * @ptr: The pointer to cast.
+ *
+ * Explicitly cast an error-valued pointer to another pointer type in such a
+ * way as to make it clear that's what's going on.
+ */
+static inline void * __must_check ERR_CAST(__force const void *ptr)
+{
+ /* cast away the const */
+ return (void *) ptr;
+}
#endif /* _LINUX_ERR_H */