asm-generic: introduce asm/bitsperlong.h
[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 #ifndef __ASSEMBLY__
35
36 #if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \
37     || defined(CONFIG_64BIT)
38 typedef u64 dma_addr_t;
39 #else
40 typedef u32 dma_addr_t;
41 #endif
42 typedef u64 dma64_addr_t;
43
44 /*
45  * Don't use phys_t.  You've been warned.
46  */
47 #ifdef CONFIG_64BIT_PHYS_ADDR
48 typedef unsigned long long phys_t;
49 #else
50 typedef unsigned long phys_t;
51 #endif
52
53 #endif /* __ASSEMBLY__ */
54
55 #endif /* __KERNEL__ */
56
57 #endif /* _ASM_TYPES_H */