1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved. */
3 
4 #ifndef __GDM_ENDIAN_H__
5 #define __GDM_ENDIAN_H__
6 
7 #include <linux/types.h>
8 
9 /*
10  * For data in "device-endian" byte order (device endianness is model
11  * dependent).  Analogous to __leXX or __beXX.
12  */
13 typedef __u32 __bitwise __dev32;
14 typedef __u16 __bitwise __dev16;
15 
16 enum {
17 	ENDIANNESS_MIN = 0,
18 	ENDIANNESS_UNKNOWN,
19 	ENDIANNESS_LITTLE,
20 	ENDIANNESS_BIG,
21 	ENDIANNESS_MIDDLE,
22 	ENDIANNESS_MAX
23 };
24 
25 __dev16 gdm_cpu_to_dev16(u8 dev_ed, u16 x);
26 u16 gdm_dev16_to_cpu(u8 dev_ed, __dev16 x);
27 __dev32 gdm_cpu_to_dev32(u8 dev_ed, u32 x);
28 u32 gdm_dev32_to_cpu(u8 dev_ed, __dev32 x);
29 
30 #endif /*__GDM_ENDIAN_H__*/
31