linux/const.h: Add _BITUL() and _BITULL()
authorH. Peter Anvin <hpa@linux.intel.com>
Sat, 27 Apr 2013 23:07:49 +0000 (16:07 -0700)
committerWilly Tarreau <w@1wt.eu>
Tue, 7 Jun 2016 08:42:44 +0000 (10:42 +0200)
commit 2fc016c5bd8aad2e201cdf71b9fb4573f94775bd upstream.

Add macros for single bit definitions of a specific type.  These are
similar to the BIT() macro that already exists, but with a few
exceptions:

1. The namespace is such that they can be used in uapi definitions.
2. The type is set with the _AC() macro to allow it to be used in
   assembly.
3. The type is explicitly specified to be UL or ULL.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Link: http://lkml.kernel.org/n/tip-nbca8p7cg6jyjoit7klh3o91@git.kernel.org
[wt: backported to 3.10 only to keep next patch clean]

Signed-off-by: Willy Tarreau <w@1wt.eu>
include/uapi/linux/const.h

index c22c707c455d6b379afa6c2642640e6b6277541e..c872bfd25e139115014764018072beb171dd23ad 100644 (file)
@@ -21,4 +21,7 @@
 #define _AT(T,X)       ((T)(X))
 #endif
 
+#define _BITUL(x)      (_AC(1,UL) << (x))
+#define _BITULL(x)     (_AC(1,ULL) << (x))
+
 #endif /* !(_LINUX_CONST_H) */