7956e69a3bd5cfe6a8b50466f7460996599f9ce5
[sfrench/cifs-2.6.git] / arch / mips / include / asm / types.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1994, 1995, 1996, 1999 by Ralf Baechle
7  * Copyright (C) 2008 Wind River Systems,
8  *   written by Ralf Baechle
9  * Copyright (C) 1999 Silicon Graphics, Inc.
10  */
11 #ifndef _ASM_TYPES_H
12 #define _ASM_TYPES_H
13
14 /*
15  * We don't use int-l64.h for the kernel anymore but still use it for
16  * userspace to avoid code changes.
17  */
18 #if (_MIPS_SZLONG == 64) && !defined(__KERNEL__)
19 # include <asm-generic/int-l64.h>
20 #else
21 # include <asm-generic/int-ll64.h>
22 #endif
23
24 #ifndef __ASSEMBLY__
25
26 typedef unsigned short umode_t;
27
28 #endif /* __ASSEMBLY__ */
29
30 /*
31  * These aren't exported outside the kernel to avoid name space clashes
32  */
33 #ifdef __KERNEL__
34
35 #define BITS_PER_LONG _MIPS_SZLONG
36
37 #ifndef __ASSEMBLY__
38
39 #if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \
40     || defined(CONFIG_64BIT)
41 typedef u64 dma_addr_t;
42 #else
43 typedef u32 dma_addr_t;
44 #endif
45 typedef u64 dma64_addr_t;
46
47 /*
48  * Don't use phys_t.  You've been warned.
49  */
50 #ifdef CONFIG_64BIT_PHYS_ADDR
51 typedef unsigned long long phys_t;
52 #else
53 typedef unsigned long phys_t;
54 #endif
55
56 #endif /* __ASSEMBLY__ */
57
58 #endif /* __KERNEL__ */
59
60 #endif /* _ASM_TYPES_H */