mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-30 05:42:46 +01:00
Sync implementation with the kernel and move the macro from tools/include/linux/bitmap.h to tools/include/asm-generic/bitsperlong.h Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Yury Norov <[email protected]> Acked-by: Rasmus Villemoes <[email protected]> Cc: Alexey Klimov <[email protected]> Cc: Andy Shevchenko <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: David Sterba <[email protected]> Cc: Dennis Zhou <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Jianpeng Ma <[email protected]> Cc: Joe Perches <[email protected]> Cc: John Paul Adrian Glaubitz <[email protected]> Cc: Josh Poimboeuf <[email protected]> Cc: Rich Felker <[email protected]> Cc: Stefano Brivio <[email protected]> Cc: Wei Yang <[email protected]> Cc: Wolfram Sang <[email protected]> Cc: Yoshinori Sato <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
25 lines
596 B
C
25 lines
596 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __ASM_GENERIC_BITS_PER_LONG
|
|
#define __ASM_GENERIC_BITS_PER_LONG
|
|
|
|
#include <uapi/asm-generic/bitsperlong.h>
|
|
|
|
#ifdef __SIZEOF_LONG__
|
|
#define BITS_PER_LONG (__CHAR_BIT__ * __SIZEOF_LONG__)
|
|
#else
|
|
#define BITS_PER_LONG __WORDSIZE
|
|
#endif
|
|
|
|
#if BITS_PER_LONG != __BITS_PER_LONG
|
|
#error Inconsistent word size. Check asm/bitsperlong.h
|
|
#endif
|
|
|
|
#ifndef BITS_PER_LONG_LONG
|
|
#define BITS_PER_LONG_LONG 64
|
|
#endif
|
|
|
|
#define small_const_nbits(nbits) \
|
|
(__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG && (nbits) > 0)
|
|
|
|
#endif /* __ASM_GENERIC_BITS_PER_LONG */
|