Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / staging / gdm724x / gdm_endian.h
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__*/