Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[deliverable/linux.git] / arch / s390 / include / asm / types.h
1 /*
2 * include/asm-s390/types.h
3 *
4 * S390 version
5 *
6 * Derived from "include/asm-i386/types.h"
7 */
8
9 #ifndef _S390_TYPES_H
10 #define _S390_TYPES_H
11
12 #include <asm-generic/int-ll64.h>
13
14 #ifndef __ASSEMBLY__
15
16 typedef unsigned short umode_t;
17
18 /* A address type so that arithmetic can be done on it & it can be upgraded to
19 64 bit when necessary
20 */
21 typedef unsigned long addr_t;
22 typedef __signed__ long saddr_t;
23
24 #endif /* __ASSEMBLY__ */
25
26 /*
27 * These aren't exported outside the kernel to avoid name space clashes
28 */
29 #ifdef __KERNEL__
30
31 #ifndef __s390x__
32 #define BITS_PER_LONG 32
33 #else
34 #define BITS_PER_LONG 64
35 #endif
36
37 #ifndef __ASSEMBLY__
38
39 typedef u64 dma64_addr_t;
40 #ifdef __s390x__
41 /* DMA addresses come in 32-bit and 64-bit flavours. */
42 typedef u64 dma_addr_t;
43 #else
44 typedef u32 dma_addr_t;
45 #endif
46
47 #ifndef __s390x__
48 typedef union {
49 unsigned long long pair;
50 struct {
51 unsigned long even;
52 unsigned long odd;
53 } subreg;
54 } register_pair;
55
56 #endif /* ! __s390x__ */
57 #endif /* __ASSEMBLY__ */
58 #endif /* __KERNEL__ */
59 #endif /* _S390_TYPES_H */
This page took 0.033802 seconds and 6 git commands to generate.