aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2019-08-19 10:00:54 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-08-20 11:08:23 -0400
commitaaa6ef8aa85f33c6dd593e139b7f7d901bbde0e2 (patch)
treeb30a67293a6e51db15545cce56928486e47b6af2
parent146dc303630aff5fdf006614a67704539c519c33 (diff)
tools headers: Grab copy of linux/const.h, needed by linux/bits.h
So that can update the copy of linux/bits.h that now uses macros defined in const.h and that are not available in older systems. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lkml.kernel.org/n/tip-c2qfcbl58hxyfb5u5xivp7is@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/include/linux/const.h9
-rw-r--r--tools/include/uapi/linux/const.h31
-rwxr-xr-xtools/perf/check-headers.sh2
3 files changed, 42 insertions, 0 deletions
diff --git a/tools/include/linux/const.h b/tools/include/linux/const.h
new file mode 100644
index 000000000000..7b55a55f5911
--- /dev/null
+++ b/tools/include/linux/const.h
@@ -0,0 +1,9 @@
1#ifndef _LINUX_CONST_H
2#define _LINUX_CONST_H
3
4#include <uapi/linux/const.h>
5
6#define UL(x) (_UL(x))
7#define ULL(x) (_ULL(x))
8
9#endif /* _LINUX_CONST_H */
diff --git a/tools/include/uapi/linux/const.h b/tools/include/uapi/linux/const.h
new file mode 100644
index 000000000000..5ed721ad5b19
--- /dev/null
+++ b/tools/include/uapi/linux/const.h
@@ -0,0 +1,31 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/* const.h: Macros for dealing with constants. */
3
4#ifndef _UAPI_LINUX_CONST_H
5#define _UAPI_LINUX_CONST_H
6
7/* Some constant macros are used in both assembler and
8 * C code. Therefore we cannot annotate them always with
9 * 'UL' and other type specifiers unilaterally. We
10 * use the following macros to deal with this.
11 *
12 * Similarly, _AT() will cast an expression with a type in C, but
13 * leave it unchanged in asm.
14 */
15
16#ifdef __ASSEMBLY__
17#define _AC(X,Y) X
18#define _AT(T,X) X
19#else
20#define __AC(X,Y) (X##Y)
21#define _AC(X,Y) __AC(X,Y)
22#define _AT(T,X) ((T)(X))
23#endif
24
25#define _UL(x) (_AC(x, UL))
26#define _ULL(x) (_AC(x, ULL))
27
28#define _BITUL(x) (_UL(1) << (x))
29#define _BITULL(x) (_ULL(1) << (x))
30
31#endif /* _UAPI_LINUX_CONST_H */
diff --git a/tools/perf/check-headers.sh b/tools/perf/check-headers.sh
index f211c015cb76..5308b3836278 100755
--- a/tools/perf/check-headers.sh
+++ b/tools/perf/check-headers.sh
@@ -2,6 +2,7 @@
2# SPDX-License-Identifier: GPL-2.0 2# SPDX-License-Identifier: GPL-2.0
3 3
4HEADERS=' 4HEADERS='
5include/uapi/linux/const.h
5include/uapi/drm/drm.h 6include/uapi/drm/drm.h
6include/uapi/drm/i915_drm.h 7include/uapi/drm/i915_drm.h
7include/uapi/linux/fadvise.h 8include/uapi/linux/fadvise.h
@@ -19,6 +20,7 @@ include/uapi/linux/usbdevice_fs.h
19include/uapi/linux/vhost.h 20include/uapi/linux/vhost.h
20include/uapi/sound/asound.h 21include/uapi/sound/asound.h
21include/linux/bits.h 22include/linux/bits.h
23include/linux/const.h
22include/linux/hash.h 24include/linux/hash.h
23include/uapi/linux/hw_breakpoint.h 25include/uapi/linux/hw_breakpoint.h
24arch/x86/include/asm/disabled-features.h 26arch/x86/include/asm/disabled-features.h