Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _LINUX_ALIGN_H
0003 #define _LINUX_ALIGN_H
0004 
0005 #include <linux/const.h>
0006 
0007 /* @a is a power of 2 value */
0008 #define ALIGN(x, a)     __ALIGN_KERNEL((x), (a))
0009 #define ALIGN_DOWN(x, a)    __ALIGN_KERNEL((x) - ((a) - 1), (a))
0010 #define __ALIGN_MASK(x, mask)   __ALIGN_KERNEL_MASK((x), (mask))
0011 #define PTR_ALIGN(p, a)     ((typeof(p))ALIGN((unsigned long)(p), (a)))
0012 #define PTR_ALIGN_DOWN(p, a)    ((typeof(p))ALIGN_DOWN((unsigned long)(p), (a)))
0013 #define IS_ALIGNED(x, a)        (((x) & ((typeof(x))(a) - 1)) == 0)
0014 
0015 #endif  /* _LINUX_ALIGN_H */