1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __ASM_GENERIC_BITS_PER_LONG
3#define __ASM_GENERIC_BITS_PER_LONG
4
5#include <uapi/asm-generic/bitsperlong.h>
6
7#ifdef __SIZEOF_LONG__
8#define BITS_PER_LONG (__CHAR_BIT__ * __SIZEOF_LONG__)
9#else
10#define BITS_PER_LONG __WORDSIZE
11#endif
12
13#if BITS_PER_LONG != __BITS_PER_LONG
14#error Inconsistent word size. Check asm/bitsperlong.h
15#endif
16
17#ifndef BITS_PER_LONG_LONG
18#define BITS_PER_LONG_LONG 64
19#endif
20
21#define small_const_nbits(nbits) \
22	(__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG && (nbits) > 0)
23
24#endif /* __ASM_GENERIC_BITS_PER_LONG */
25