Commit 9d256ff51c174d8b157d99db038a1045f37a17c8
1 parent
01749f6d6d
Exists in
master
and in
7 other branches
x86: unify include/asm/types_32/64.h
Mostly the same. Make the few exceptions conditional. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Conflicts: include/asm-x86/types_32.h
Showing 4 changed files with 67 additions and 131 deletions Side-by-side Diff
include/asm-x86/Kbuild
include/asm-x86/types.h
1 | -#ifdef __KERNEL__ | |
2 | -# ifdef CONFIG_X86_32 | |
3 | -# include "types_32.h" | |
4 | -# else | |
5 | -# include "types_64.h" | |
1 | +#ifndef _ASM_X86_TYPES_H | |
2 | +#define _ASM_X86_TYPES_H | |
3 | + | |
4 | +#ifndef __ASSEMBLY__ | |
5 | + | |
6 | +typedef unsigned short umode_t; | |
7 | + | |
8 | +/* | |
9 | + * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | |
10 | + * header files exported to user space | |
11 | + */ | |
12 | + | |
13 | +typedef __signed__ char __s8; | |
14 | +typedef unsigned char __u8; | |
15 | + | |
16 | +typedef __signed__ short __s16; | |
17 | +typedef unsigned short __u16; | |
18 | + | |
19 | +typedef __signed__ int __s32; | |
20 | +typedef unsigned int __u32; | |
21 | + | |
22 | +#ifdef __i386__ | |
23 | +# ifdef __GNUC__ | |
24 | +__extension__ typedef __signed__ long long __s64; | |
25 | +__extension__ typedef unsigned long long __u64; | |
6 | 26 | # endif |
7 | 27 | #else |
8 | -# ifdef __i386__ | |
9 | -# include "types_32.h" | |
10 | -# else | |
11 | -# include "types_64.h" | |
12 | -# endif | |
28 | +typedef __signed__ long long __s64; | |
29 | +typedef unsigned long long __u64; | |
30 | +#endif | |
31 | + | |
32 | +#endif /* __ASSEMBLY__ */ | |
33 | + | |
34 | +/* | |
35 | + * These aren't exported outside the kernel to avoid name space clashes | |
36 | + */ | |
37 | +#ifdef __KERNEL__ | |
38 | + | |
39 | +#ifdef CONFIG_X86_32 | |
40 | +# define BITS_PER_LONG 32 | |
41 | +#else | |
42 | +# define BITS_PER_LONG 64 | |
43 | +#endif | |
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 | +typedef u64 dma64_addr_t; | |
60 | +#if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G) | |
61 | +/* DMA addresses come in 32-bit and 64-bit flavours. */ | |
62 | +typedef u64 dma_addr_t; | |
63 | +#else | |
64 | +typedef u32 dma_addr_t; | |
65 | +#endif | |
66 | + | |
67 | +#endif /* __ASSEMBLY__ */ | |
68 | +#endif /* __KERNEL__ */ | |
69 | + | |
13 | 70 | #endif |
include/asm-x86/types_32.h
1 | -#ifndef _I386_TYPES_H | |
2 | -#define _I386_TYPES_H | |
3 | - | |
4 | -#ifndef __ASSEMBLY__ | |
5 | - | |
6 | -typedef unsigned short umode_t; | |
7 | - | |
8 | -/* | |
9 | - * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | |
10 | - * header files exported to user space | |
11 | - */ | |
12 | - | |
13 | -typedef __signed__ char __s8; | |
14 | -typedef unsigned char __u8; | |
15 | - | |
16 | -typedef __signed__ short __s16; | |
17 | -typedef unsigned short __u16; | |
18 | - | |
19 | -typedef __signed__ int __s32; | |
20 | -typedef unsigned int __u32; | |
21 | - | |
22 | -#if defined(__GNUC__) | |
23 | -__extension__ typedef __signed__ long long __s64; | |
24 | -__extension__ typedef unsigned long long __u64; | |
25 | -#endif | |
26 | - | |
27 | -#endif /* __ASSEMBLY__ */ | |
28 | - | |
29 | -/* | |
30 | - * These aren't exported outside the kernel to avoid name space clashes | |
31 | - */ | |
32 | -#ifdef __KERNEL__ | |
33 | - | |
34 | -#define BITS_PER_LONG 32 | |
35 | - | |
36 | -#ifndef __ASSEMBLY__ | |
37 | - | |
38 | - | |
39 | -typedef signed char s8; | |
40 | -typedef unsigned char u8; | |
41 | - | |
42 | -typedef signed short s16; | |
43 | -typedef unsigned short u16; | |
44 | - | |
45 | -typedef signed int s32; | |
46 | -typedef unsigned int u32; | |
47 | - | |
48 | -typedef signed long long s64; | |
49 | -typedef unsigned long long u64; | |
50 | - | |
51 | -/* DMA addresses come in generic and 64-bit flavours. */ | |
52 | - | |
53 | -#ifdef CONFIG_HIGHMEM64G | |
54 | -typedef u64 dma_addr_t; | |
55 | -#else | |
56 | -typedef u32 dma_addr_t; | |
57 | -#endif | |
58 | -typedef u64 dma64_addr_t; | |
59 | - | |
60 | -#endif /* __ASSEMBLY__ */ | |
61 | - | |
62 | -#endif /* __KERNEL__ */ | |
63 | - | |
64 | -#endif |
include/asm-x86/types_64.h
1 | -#ifndef _X86_64_TYPES_H | |
2 | -#define _X86_64_TYPES_H | |
3 | - | |
4 | -#ifndef __ASSEMBLY__ | |
5 | - | |
6 | -typedef unsigned short umode_t; | |
7 | - | |
8 | -/* | |
9 | - * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | |
10 | - * header files exported to user space | |
11 | - */ | |
12 | - | |
13 | -typedef __signed__ char __s8; | |
14 | -typedef unsigned char __u8; | |
15 | - | |
16 | -typedef __signed__ short __s16; | |
17 | -typedef unsigned short __u16; | |
18 | - | |
19 | -typedef __signed__ int __s32; | |
20 | -typedef unsigned int __u32; | |
21 | - | |
22 | -typedef __signed__ long long __s64; | |
23 | -typedef unsigned long long __u64; | |
24 | - | |
25 | -#endif /* __ASSEMBLY__ */ | |
26 | - | |
27 | -/* | |
28 | - * These aren't exported outside the kernel to avoid name space clashes | |
29 | - */ | |
30 | -#ifdef __KERNEL__ | |
31 | - | |
32 | -#define BITS_PER_LONG 64 | |
33 | - | |
34 | -#ifndef __ASSEMBLY__ | |
35 | - | |
36 | -typedef signed char s8; | |
37 | -typedef unsigned char u8; | |
38 | - | |
39 | -typedef signed short s16; | |
40 | -typedef unsigned short u16; | |
41 | - | |
42 | -typedef signed int s32; | |
43 | -typedef unsigned int u32; | |
44 | - | |
45 | -typedef signed long long s64; | |
46 | -typedef unsigned long long u64; | |
47 | - | |
48 | -typedef u64 dma64_addr_t; | |
49 | -typedef u64 dma_addr_t; | |
50 | - | |
51 | -#endif /* __ASSEMBLY__ */ | |
52 | - | |
53 | -#endif /* __KERNEL__ */ | |
54 | - | |
55 | -#endif |