s390: types: use <asm-generic/int-*.h> for the s390 architecture
[linux-2.6/verdex.git] / include / asm-s390 / types.h
blob78dda038dd47c3b60e153e78dab2e67ac5f16dda
1 /*
2 * include/asm-s390/types.h
4 * S390 version
6 * Derived from "include/asm-i386/types.h"
7 */
9 #ifndef _S390_TYPES_H
10 #define _S390_TYPES_H
12 #ifndef __s390x__
13 # include <asm-generic/int-l64.h>
14 #else
15 # include <asm-generic/int-ll64.h>
16 #endif
18 #ifndef __ASSEMBLY__
20 typedef unsigned short umode_t;
22 /* A address type so that arithmetic can be done on it & it can be upgraded to
23 64 bit when necessary
25 typedef unsigned long addr_t;
26 typedef __signed__ long saddr_t;
28 #endif /* __ASSEMBLY__ */
31 * These aren't exported outside the kernel to avoid name space clashes
33 #ifdef __KERNEL__
35 #ifndef __s390x__
36 #define BITS_PER_LONG 32
37 #else
38 #define BITS_PER_LONG 64
39 #endif
41 #ifndef __ASSEMBLY__
43 typedef u32 dma_addr_t;
45 #ifndef __s390x__
46 typedef union {
47 unsigned long long pair;
48 struct {
49 unsigned long even;
50 unsigned long odd;
51 } subreg;
52 } register_pair;
54 #endif /* ! __s390x__ */
55 #endif /* __ASSEMBLY__ */
56 #endif /* __KERNEL__ */
57 #endif /* _S390_TYPES_H */