Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
[linux-2.6] / include / asm-sh64 / types.h
1 #ifndef __ASM_SH64_TYPES_H
2 #define __ASM_SH64_TYPES_H
3
4 /*
5  * This file is subject to the terms and conditions of the GNU General Public
6  * License.  See the file "COPYING" in the main directory of this archive
7  * for more details.
8  *
9  * include/asm-sh64/types.h
10  *
11  * Copyright (C) 2000, 2001  Paolo Alberelli
12  *
13  */
14
15 #ifndef __ASSEMBLY__
16
17 typedef unsigned short umode_t;
18
19 /*
20  * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
21  * header files exported to user space
22  */
23
24 typedef __signed__ char __s8;
25 typedef unsigned char __u8;
26
27 typedef __signed__ short __s16;
28 typedef unsigned short __u16;
29
30 typedef __signed__ int __s32;
31 typedef unsigned int __u32;
32
33 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
34 typedef __signed__ long long __s64;
35 typedef unsigned long long __u64;
36 #endif
37
38 #endif /* __ASSEMBLY__ */
39
40 /*
41  * These aren't exported outside the kernel to avoid name space clashes
42  */
43 #ifdef __KERNEL__
44
45 #ifndef __ASSEMBLY__
46
47 typedef __signed__ char s8;
48 typedef unsigned char u8;
49
50 typedef __signed__ short s16;
51 typedef unsigned short u16;
52
53 typedef __signed__ int s32;
54 typedef unsigned int u32;
55
56 typedef __signed__ long long s64;
57 typedef unsigned long long u64;
58
59 /* DMA addresses come in generic and 64-bit flavours.  */
60
61 #ifdef CONFIG_HIGHMEM64G
62 typedef u64 dma_addr_t;
63 #else
64 typedef u32 dma_addr_t;
65 #endif
66 typedef u64 dma64_addr_t;
67
68 #endif /* __ASSEMBLY__ */
69
70 #define BITS_PER_LONG 32
71
72 #endif /* __KERNEL__ */
73
74 #endif /* __ASM_SH64_TYPES_H */