• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/ucode/include/linux/const.h

  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 /* const.h: Macros for dealing with constants.  */
  3 
  4 #ifndef _LINUX_CONST_H
  5 #define _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 #define __ALIGN_KERNEL(x, a)            __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
 32 #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
 33 
 34 #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
 35 
 36 #endif /* _LINUX_CONST_H */
 37 

This page was automatically generated by LXR 0.3.1.  •  OpenWrt