11146ee4aSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2ad9bd58cSGreg Kroah-Hartman /* Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved. */
361e12104SWon Kang 
461e12104SWon Kang #ifndef __GDM_ENDIAN_H__
561e12104SWon Kang #define __GDM_ENDIAN_H__
661e12104SWon Kang 
761e12104SWon Kang #include <linux/types.h>
861e12104SWon Kang 
9457c005aSEric S. Stone /*
10457c005aSEric S. Stone  * For data in "device-endian" byte order (device endianness is model
11457c005aSEric S. Stone  * dependent).  Analogous to __leXX or __beXX.
12457c005aSEric S. Stone  */
13457c005aSEric S. Stone typedef __u32 __bitwise __dev32;
14457c005aSEric S. Stone typedef __u16 __bitwise __dev16;
15457c005aSEric S. Stone 
1661e12104SWon Kang enum {
1761e12104SWon Kang 	ENDIANNESS_MIN = 0,
1861e12104SWon Kang 	ENDIANNESS_UNKNOWN,
1961e12104SWon Kang 	ENDIANNESS_LITTLE,
2061e12104SWon Kang 	ENDIANNESS_BIG,
2161e12104SWon Kang 	ENDIANNESS_MIDDLE,
2261e12104SWon Kang 	ENDIANNESS_MAX
2361e12104SWon Kang };
2461e12104SWon Kang 
251b5e56ecSQuytelda Kahja __dev16 gdm_cpu_to_dev16(u8 dev_ed, u16 x);
261b5e56ecSQuytelda Kahja u16 gdm_dev16_to_cpu(u8 dev_ed, __dev16 x);
271b5e56ecSQuytelda Kahja __dev32 gdm_cpu_to_dev32(u8 dev_ed, u32 x);
281b5e56ecSQuytelda Kahja u32 gdm_dev32_to_cpu(u8 dev_ed, __dev32 x);
2961e12104SWon Kang 
3061e12104SWon Kang #endif /*__GDM_ENDIAN_H__*/
31