1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * linux/arch/unicore32/include/mach/bitfield.h
4  *
5  * Code specific to PKUnity SoC and UniCore ISA
6  *
7  * Copyright (C) 2001-2010 GUAN Xue-tao
8  */
9 #ifndef __MACH_PUV3_BITFIELD_H__
10 #define __MACH_PUV3_BITFIELD_H__
11 
12 #ifndef __ASSEMBLY__
13 #define UData(Data)	((unsigned long) (Data))
14 #else
15 #define UData(Data)	(Data)
16 #endif
17 
18 #define FIELD(val, vmask, vshift)	(((val) & ((UData(1) << (vmask)) - 1)) << (vshift))
19 #define FMASK(vmask, vshift)		(((UData(1) << (vmask)) - 1) << (vshift))
20 
21 #endif /* __MACH_PUV3_BITFIELD_H__ */
22