1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright (C) 1997 Tensilica Inc. 4 */ 5 6 #ifndef _XTENSA_TYPES_H 7 #define _XTENSA_TYPES_H 8 9 typedef unsigned short umode_t; 10 11 /* 12 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 13 * header files exported to user space 14 */ 15 16 typedef __signed__ char __s8; 17 typedef unsigned char __u8; 18 19 typedef __signed__ short __s16; 20 typedef unsigned short __u16; 21 22 typedef __signed__ int __s32; 23 typedef unsigned int __u32; 24 25 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) 26 typedef __signed__ long long __s64; 27 typedef unsigned long long __u64; 28 #endif 29 30 /* 31 * These aren't exported outside the kernel to avoid name space clashes 32 */ 33 #ifdef __KERNEL__ 34 35 typedef signed char s8; 36 typedef unsigned char u8; 37 38 typedef signed short s16; 39 typedef unsigned short u16; 40 41 typedef signed int s32; 42 typedef unsigned int u32; 43 44 typedef signed long long s64; 45 typedef unsigned long long u64; 46 47 #define BITS_PER_LONG 32 48 49 /* Dma addresses are 32-bits wide */ 50 51 typedef u32 dma_addr_t; 52 53 typedef unsigned long phys_addr_t; 54 typedef unsigned long phys_size_t; 55 56 57 #endif /* __KERNEL__ */ 58 59 #endif /* _XTENSA_TYPES_H */ 60