diff options
Diffstat (limited to 'include')
37 files changed, 269 insertions, 746 deletions
diff --git a/include/asm-alpha/types.h b/include/asm-alpha/types.h index f5716139ec89..a9e34ca4d463 100644 --- a/include/asm-alpha/types.h +++ b/include/asm-alpha/types.h | |||
@@ -8,28 +8,12 @@ | |||
8 | * not a major issue. However, for interoperability, libraries still | 8 | * not a major issue. However, for interoperability, libraries still |
9 | * need to be careful to avoid a name clashes. | 9 | * need to be careful to avoid a name clashes. |
10 | */ | 10 | */ |
11 | #include <asm-generic/int-l64.h> | ||
11 | 12 | ||
12 | #ifndef __ASSEMBLY__ | 13 | #ifndef __ASSEMBLY__ |
13 | 14 | ||
14 | typedef unsigned int umode_t; | 15 | typedef unsigned int umode_t; |
15 | 16 | ||
16 | /* | ||
17 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
18 | * header files exported to user space | ||
19 | */ | ||
20 | |||
21 | typedef __signed__ char __s8; | ||
22 | typedef unsigned char __u8; | ||
23 | |||
24 | typedef __signed__ short __s16; | ||
25 | typedef unsigned short __u16; | ||
26 | |||
27 | typedef __signed__ int __s32; | ||
28 | typedef unsigned int __u32; | ||
29 | |||
30 | typedef __signed__ long __s64; | ||
31 | typedef unsigned long __u64; | ||
32 | |||
33 | #endif /* __ASSEMBLY__ */ | 17 | #endif /* __ASSEMBLY__ */ |
34 | 18 | ||
35 | /* | 19 | /* |
@@ -39,23 +23,5 @@ typedef unsigned long __u64; | |||
39 | 23 | ||
40 | #define BITS_PER_LONG 64 | 24 | #define BITS_PER_LONG 64 |
41 | 25 | ||
42 | #ifndef __ASSEMBLY__ | ||
43 | |||
44 | typedef signed char s8; | ||
45 | typedef unsigned char u8; | ||
46 | |||
47 | typedef signed short s16; | ||
48 | typedef unsigned short u16; | ||
49 | |||
50 | typedef signed int s32; | ||
51 | typedef unsigned int u32; | ||
52 | |||
53 | typedef signed long s64; | ||
54 | typedef unsigned long u64; | ||
55 | |||
56 | typedef u64 dma_addr_t; | ||
57 | typedef u64 dma64_addr_t; | ||
58 | |||
59 | #endif /* __ASSEMBLY__ */ | ||
60 | #endif /* __KERNEL__ */ | 26 | #endif /* __KERNEL__ */ |
61 | #endif /* _ALPHA_TYPES_H */ | 27 | #endif /* _ALPHA_TYPES_H */ |
diff --git a/include/asm-arm/types.h b/include/asm-arm/types.h index 3141451a9bd6..345df01534a4 100644 --- a/include/asm-arm/types.h +++ b/include/asm-arm/types.h | |||
@@ -1,29 +1,12 @@ | |||
1 | #ifndef __ASM_ARM_TYPES_H | 1 | #ifndef __ASM_ARM_TYPES_H |
2 | #define __ASM_ARM_TYPES_H | 2 | #define __ASM_ARM_TYPES_H |
3 | 3 | ||
4 | #include <asm-generic/int-ll64.h> | ||
5 | |||
4 | #ifndef __ASSEMBLY__ | 6 | #ifndef __ASSEMBLY__ |
5 | 7 | ||
6 | typedef unsigned short umode_t; | 8 | typedef unsigned short umode_t; |
7 | 9 | ||
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__ */ | 10 | #endif /* __ASSEMBLY__ */ |
28 | 11 | ||
29 | /* | 12 | /* |
@@ -35,18 +18,6 @@ __extension__ typedef unsigned long long __u64; | |||
35 | 18 | ||
36 | #ifndef __ASSEMBLY__ | 19 | #ifndef __ASSEMBLY__ |
37 | 20 | ||
38 | typedef signed char s8; | ||
39 | typedef unsigned char u8; | ||
40 | |||
41 | typedef signed short s16; | ||
42 | typedef unsigned short u16; | ||
43 | |||
44 | typedef signed int s32; | ||
45 | typedef unsigned int u32; | ||
46 | |||
47 | typedef signed long long s64; | ||
48 | typedef unsigned long long u64; | ||
49 | |||
50 | /* Dma addresses are 32-bits wide. */ | 21 | /* Dma addresses are 32-bits wide. */ |
51 | 22 | ||
52 | typedef u32 dma_addr_t; | 23 | typedef u32 dma_addr_t; |
diff --git a/include/asm-avr32/types.h b/include/asm-avr32/types.h index 8999a3819403..9cefda6f534a 100644 --- a/include/asm-avr32/types.h +++ b/include/asm-avr32/types.h | |||
@@ -8,28 +8,12 @@ | |||
8 | #ifndef __ASM_AVR32_TYPES_H | 8 | #ifndef __ASM_AVR32_TYPES_H |
9 | #define __ASM_AVR32_TYPES_H | 9 | #define __ASM_AVR32_TYPES_H |
10 | 10 | ||
11 | #include <asm-generic/int-ll64.h> | ||
12 | |||
11 | #ifndef __ASSEMBLY__ | 13 | #ifndef __ASSEMBLY__ |
12 | 14 | ||
13 | typedef unsigned short umode_t; | 15 | typedef unsigned short umode_t; |
14 | 16 | ||
15 | /* | ||
16 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
17 | * header files exported to user space | ||
18 | */ | ||
19 | typedef __signed__ char __s8; | ||
20 | typedef unsigned char __u8; | ||
21 | |||
22 | typedef __signed__ short __s16; | ||
23 | typedef unsigned short __u16; | ||
24 | |||
25 | typedef __signed__ int __s32; | ||
26 | typedef unsigned int __u32; | ||
27 | |||
28 | #if defined(__GNUC__) | ||
29 | __extension__ typedef __signed__ long long __s64; | ||
30 | __extension__ typedef unsigned long long __u64; | ||
31 | #endif | ||
32 | |||
33 | #endif /* __ASSEMBLY__ */ | 17 | #endif /* __ASSEMBLY__ */ |
34 | 18 | ||
35 | /* | 19 | /* |
@@ -41,18 +25,6 @@ __extension__ typedef unsigned long long __u64; | |||
41 | 25 | ||
42 | #ifndef __ASSEMBLY__ | 26 | #ifndef __ASSEMBLY__ |
43 | 27 | ||
44 | typedef signed char s8; | ||
45 | typedef unsigned char u8; | ||
46 | |||
47 | typedef signed short s16; | ||
48 | typedef unsigned short u16; | ||
49 | |||
50 | typedef signed int s32; | ||
51 | typedef unsigned int u32; | ||
52 | |||
53 | typedef signed long long s64; | ||
54 | typedef unsigned long long u64; | ||
55 | |||
56 | /* Dma addresses are 32-bits wide. */ | 28 | /* Dma addresses are 32-bits wide. */ |
57 | 29 | ||
58 | typedef u32 dma_addr_t; | 30 | typedef u32 dma_addr_t; |
diff --git a/include/asm-blackfin/types.h b/include/asm-blackfin/types.h index 9785a6d531c6..8441cbc2bf9e 100644 --- a/include/asm-blackfin/types.h +++ b/include/asm-blackfin/types.h | |||
@@ -8,30 +8,12 @@ | |||
8 | * not a major issue. However, for interoperability, libraries still | 8 | * not a major issue. However, for interoperability, libraries still |
9 | * need to be careful to avoid a name clashes. | 9 | * need to be careful to avoid a name clashes. |
10 | */ | 10 | */ |
11 | #include <asm-generic/int-ll64.h> | ||
12 | |||
11 | #ifndef __ASSEMBLY__ | 13 | #ifndef __ASSEMBLY__ |
12 | 14 | ||
13 | typedef unsigned short umode_t; | 15 | typedef unsigned short umode_t; |
14 | 16 | ||
15 | /* | ||
16 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
17 | * header files exported to user space | ||
18 | */ | ||
19 | |||
20 | typedef __signed__ char __s8; | ||
21 | typedef unsigned char __u8; | ||
22 | |||
23 | typedef __signed__ short __s16; | ||
24 | typedef unsigned short __u16; | ||
25 | |||
26 | typedef __signed__ int __s32; | ||
27 | typedef unsigned int __u32; | ||
28 | |||
29 | /* HK0617 -- Changes to unsigned long temporarily */ | ||
30 | #if defined(__GNUC__) | ||
31 | __extension__ typedef __signed__ long long __s64; | ||
32 | __extension__ typedef unsigned long long __u64; | ||
33 | #endif | ||
34 | |||
35 | #endif /* __ASSEMBLY__ */ | 17 | #endif /* __ASSEMBLY__ */ |
36 | /* | 18 | /* |
37 | * These aren't exported outside the kernel to avoid name space clashes | 19 | * These aren't exported outside the kernel to avoid name space clashes |
@@ -42,18 +24,6 @@ __extension__ typedef unsigned long long __u64; | |||
42 | 24 | ||
43 | #ifndef __ASSEMBLY__ | 25 | #ifndef __ASSEMBLY__ |
44 | 26 | ||
45 | typedef signed char s8; | ||
46 | typedef unsigned char u8; | ||
47 | |||
48 | typedef signed short s16; | ||
49 | typedef unsigned short u16; | ||
50 | |||
51 | typedef signed int s32; | ||
52 | typedef unsigned int u32; | ||
53 | |||
54 | typedef signed long long s64; | ||
55 | typedef unsigned long long u64; | ||
56 | |||
57 | /* Dma addresses are 32-bits wide. */ | 27 | /* Dma addresses are 32-bits wide. */ |
58 | 28 | ||
59 | typedef u32 dma_addr_t; | 29 | typedef u32 dma_addr_t; |
diff --git a/include/asm-cris/types.h b/include/asm-cris/types.h index 5a21c42bc6c5..5790262cbe8a 100644 --- a/include/asm-cris/types.h +++ b/include/asm-cris/types.h | |||
@@ -1,29 +1,12 @@ | |||
1 | #ifndef _ETRAX_TYPES_H | 1 | #ifndef _ETRAX_TYPES_H |
2 | #define _ETRAX_TYPES_H | 2 | #define _ETRAX_TYPES_H |
3 | 3 | ||
4 | #include <asm-generic/int-ll64.h> | ||
5 | |||
4 | #ifndef __ASSEMBLY__ | 6 | #ifndef __ASSEMBLY__ |
5 | 7 | ||
6 | typedef unsigned short umode_t; | 8 | typedef unsigned short umode_t; |
7 | 9 | ||
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__ */ | 10 | #endif /* __ASSEMBLY__ */ |
28 | 11 | ||
29 | /* | 12 | /* |
@@ -35,18 +18,6 @@ __extension__ typedef unsigned long long __u64; | |||
35 | 18 | ||
36 | #ifndef __ASSEMBLY__ | 19 | #ifndef __ASSEMBLY__ |
37 | 20 | ||
38 | typedef signed char s8; | ||
39 | typedef unsigned char u8; | ||
40 | |||
41 | typedef signed short s16; | ||
42 | typedef unsigned short u16; | ||
43 | |||
44 | typedef signed int s32; | ||
45 | typedef unsigned int u32; | ||
46 | |||
47 | typedef signed long long s64; | ||
48 | typedef unsigned long long u64; | ||
49 | |||
50 | /* Dma addresses are 32-bits wide, just like our other addresses. */ | 21 | /* Dma addresses are 32-bits wide, just like our other addresses. */ |
51 | 22 | ||
52 | typedef u32 dma_addr_t; | 23 | typedef u32 dma_addr_t; |
diff --git a/include/asm-frv/types.h b/include/asm-frv/types.h index 767e5ed71c4b..613bf1e962f0 100644 --- a/include/asm-frv/types.h +++ b/include/asm-frv/types.h | |||
@@ -12,29 +12,12 @@ | |||
12 | #ifndef _ASM_TYPES_H | 12 | #ifndef _ASM_TYPES_H |
13 | #define _ASM_TYPES_H | 13 | #define _ASM_TYPES_H |
14 | 14 | ||
15 | #include <asm-generic/int-ll64.h> | ||
16 | |||
15 | #ifndef __ASSEMBLY__ | 17 | #ifndef __ASSEMBLY__ |
16 | 18 | ||
17 | typedef unsigned short umode_t; | 19 | typedef unsigned short umode_t; |
18 | 20 | ||
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__) | ||
34 | __extension__ typedef __signed__ long long __s64; | ||
35 | __extension__ typedef unsigned long long __u64; | ||
36 | #endif | ||
37 | |||
38 | #endif /* __ASSEMBLY__ */ | 21 | #endif /* __ASSEMBLY__ */ |
39 | 22 | ||
40 | /* | 23 | /* |
@@ -46,19 +29,6 @@ __extension__ typedef unsigned long long __u64; | |||
46 | 29 | ||
47 | #ifndef __ASSEMBLY__ | 30 | #ifndef __ASSEMBLY__ |
48 | 31 | ||
49 | |||
50 | typedef signed char s8; | ||
51 | typedef unsigned char u8; | ||
52 | |||
53 | typedef signed short s16; | ||
54 | typedef unsigned short u16; | ||
55 | |||
56 | typedef signed int s32; | ||
57 | typedef unsigned int u32; | ||
58 | |||
59 | typedef signed long long s64; | ||
60 | typedef unsigned long long u64; | ||
61 | |||
62 | /* Dma addresses are 32-bits wide. */ | 32 | /* Dma addresses are 32-bits wide. */ |
63 | 33 | ||
64 | typedef u32 dma_addr_t; | 34 | typedef u32 dma_addr_t; |
diff --git a/include/asm-generic/Kbuild b/include/asm-generic/Kbuild index c18110ee30f1..4c9932a2503f 100644 --- a/include/asm-generic/Kbuild +++ b/include/asm-generic/Kbuild | |||
@@ -7,5 +7,7 @@ header-y += poll.h | |||
7 | header-y += signal.h | 7 | header-y += signal.h |
8 | header-y += statfs.h | 8 | header-y += statfs.h |
9 | 9 | ||
10 | unifdef-y += int-l64.h | ||
11 | unifdef-y += int-ll64.h | ||
10 | unifdef-y += resource.h | 12 | unifdef-y += resource.h |
11 | unifdef-y += siginfo.h | 13 | unifdef-y += siginfo.h |
diff --git a/include/asm-generic/int-l64.h b/include/asm-generic/int-l64.h new file mode 100644 index 000000000000..2af9b75d77db --- /dev/null +++ b/include/asm-generic/int-l64.h | |||
@@ -0,0 +1,71 @@ | |||
1 | /* | ||
2 | * asm-generic/int-l64.h | ||
3 | * | ||
4 | * Integer declarations for architectures which use "long" | ||
5 | * for 64-bit types. | ||
6 | */ | ||
7 | |||
8 | #ifndef _ASM_GENERIC_INT_L64_H | ||
9 | #define _ASM_GENERIC_INT_L64_H | ||
10 | |||
11 | #ifndef __ASSEMBLY__ | ||
12 | /* | ||
13 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
14 | * header files exported to user space | ||
15 | */ | ||
16 | |||
17 | typedef __signed__ char __s8; | ||
18 | typedef unsigned char __u8; | ||
19 | |||
20 | typedef __signed__ short __s16; | ||
21 | typedef unsigned short __u16; | ||
22 | |||
23 | typedef __signed__ int __s32; | ||
24 | typedef unsigned int __u32; | ||
25 | |||
26 | typedef __signed__ long __s64; | ||
27 | typedef unsigned long __u64; | ||
28 | |||
29 | #endif /* __ASSEMBLY__ */ | ||
30 | |||
31 | #ifdef __KERNEL__ | ||
32 | |||
33 | #ifndef __ASSEMBLY__ | ||
34 | |||
35 | typedef signed char s8; | ||
36 | typedef unsigned char u8; | ||
37 | |||
38 | typedef signed short s16; | ||
39 | typedef unsigned short u16; | ||
40 | |||
41 | typedef signed int s32; | ||
42 | typedef unsigned int u32; | ||
43 | |||
44 | typedef signed long s64; | ||
45 | typedef unsigned long u64; | ||
46 | |||
47 | #define S8_C(x) x | ||
48 | #define U8_C(x) x ## U | ||
49 | #define S16_C(x) x | ||
50 | #define U16_C(x) x ## U | ||
51 | #define S32_C(x) x | ||
52 | #define U32_C(x) x ## U | ||
53 | #define S64_C(x) x ## L | ||
54 | #define U64_C(x) x ## UL | ||
55 | |||
56 | #else /* __ASSEMBLY__ */ | ||
57 | |||
58 | #define S8_C(x) x | ||
59 | #define U8_C(x) x | ||
60 | #define S16_C(x) x | ||
61 | #define U16_C(x) x | ||
62 | #define S32_C(x) x | ||
63 | #define U32_C(x) x | ||
64 | #define S64_C(x) x | ||
65 | #define U64_C(x) x | ||
66 | |||
67 | #endif /* __ASSEMBLY__ */ | ||
68 | |||
69 | #endif /* __KERNEL__ */ | ||
70 | |||
71 | #endif /* _ASM_GENERIC_INT_L64_H */ | ||
diff --git a/include/asm-generic/int-ll64.h b/include/asm-generic/int-ll64.h new file mode 100644 index 000000000000..260948905e4e --- /dev/null +++ b/include/asm-generic/int-ll64.h | |||
@@ -0,0 +1,76 @@ | |||
1 | /* | ||
2 | * asm-generic/int-ll64.h | ||
3 | * | ||
4 | * Integer declarations for architectures which use "long long" | ||
5 | * for 64-bit types. | ||
6 | */ | ||
7 | |||
8 | #ifndef _ASM_GENERIC_INT_LL64_H | ||
9 | #define _ASM_GENERIC_INT_LL64_H | ||
10 | |||
11 | #ifndef __ASSEMBLY__ | ||
12 | /* | ||
13 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
14 | * header files exported to user space | ||
15 | */ | ||
16 | |||
17 | typedef __signed__ char __s8; | ||
18 | typedef unsigned char __u8; | ||
19 | |||
20 | typedef __signed__ short __s16; | ||
21 | typedef unsigned short __u16; | ||
22 | |||
23 | typedef __signed__ int __s32; | ||
24 | typedef unsigned int __u32; | ||
25 | |||
26 | #ifdef __GNUC__ | ||
27 | __extension__ typedef __signed__ long long __s64; | ||
28 | __extension__ typedef unsigned long long __u64; | ||
29 | #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L | ||
30 | typedef __signed__ long long __s64; | ||
31 | typedef unsigned long long __u64; | ||
32 | #endif | ||
33 | |||
34 | #endif /* __ASSEMBLY__ */ | ||
35 | |||
36 | #ifdef __KERNEL__ | ||
37 | |||
38 | #ifndef __ASSEMBLY__ | ||
39 | |||
40 | typedef signed char s8; | ||
41 | typedef unsigned char u8; | ||
42 | |||
43 | typedef signed short s16; | ||
44 | typedef unsigned short u16; | ||
45 | |||
46 | typedef signed int s32; | ||
47 | typedef unsigned int u32; | ||
48 | |||
49 | typedef signed long long s64; | ||
50 | typedef unsigned long long u64; | ||
51 | |||
52 | #define S8_C(x) x | ||
53 | #define U8_C(x) x ## U | ||
54 | #define S16_C(x) x | ||
55 | #define U16_C(x) x ## U | ||
56 | #define S32_C(x) x | ||
57 | #define U32_C(x) x ## U | ||
58 | #define S64_C(x) x ## LL | ||
59 | #define U64_C(x) x ## ULL | ||
60 | |||
61 | #else /* __ASSEMBLY__ */ | ||
62 | |||
63 | #define S8_C(x) x | ||
64 | #define U8_C(x) x | ||
65 | #define S16_C(x) x | ||
66 | #define U16_C(x) x | ||
67 | #define S32_C(x) x | ||
68 | #define U32_C(x) x | ||
69 | #define S64_C(x) x | ||
70 | #define U64_C(x) x | ||
71 | |||
72 | #endif /* __ASSEMBLY__ */ | ||
73 | |||
74 | #endif /* __KERNEL__ */ | ||
75 | |||
76 | #endif /* _ASM_GENERIC_INT_LL64_H */ | ||
diff --git a/include/asm-h8300/types.h b/include/asm-h8300/types.h index 56566e2a09fd..12875190b156 100644 --- a/include/asm-h8300/types.h +++ b/include/asm-h8300/types.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _H8300_TYPES_H | 1 | #ifndef _H8300_TYPES_H |
2 | #define _H8300_TYPES_H | 2 | #define _H8300_TYPES_H |
3 | 3 | ||
4 | #include <asm-generic/int-ll64.h> | ||
5 | |||
4 | #if !defined(__ASSEMBLY__) | 6 | #if !defined(__ASSEMBLY__) |
5 | 7 | ||
6 | /* | 8 | /* |
@@ -14,41 +16,10 @@ | |||
14 | typedef unsigned short umode_t; | 16 | typedef unsigned short umode_t; |
15 | 17 | ||
16 | /* | 18 | /* |
17 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
18 | * header files exported to user space | ||
19 | */ | ||
20 | |||
21 | typedef __signed__ char __s8; | ||
22 | typedef unsigned char __u8; | ||
23 | |||
24 | typedef __signed__ short __s16; | ||
25 | typedef unsigned short __u16; | ||
26 | |||
27 | typedef __signed__ int __s32; | ||
28 | typedef unsigned int __u32; | ||
29 | |||
30 | #if defined(__GNUC__) | ||
31 | __extension__ typedef __signed__ long long __s64; | ||
32 | __extension__ typedef unsigned long long __u64; | ||
33 | #endif | ||
34 | |||
35 | /* | ||
36 | * These aren't exported outside the kernel to avoid name space clashes | 19 | * These aren't exported outside the kernel to avoid name space clashes |
37 | */ | 20 | */ |
38 | #ifdef __KERNEL__ | 21 | #ifdef __KERNEL__ |
39 | 22 | ||
40 | typedef signed char s8; | ||
41 | typedef unsigned char u8; | ||
42 | |||
43 | typedef signed short s16; | ||
44 | typedef unsigned short u16; | ||
45 | |||
46 | typedef signed int s32; | ||
47 | typedef unsigned int u32; | ||
48 | |||
49 | typedef signed long long s64; | ||
50 | typedef unsigned long long u64; | ||
51 | |||
52 | #define BITS_PER_LONG 32 | 23 | #define BITS_PER_LONG 32 |
53 | 24 | ||
54 | /* Dma addresses are 32-bits wide. */ | 25 | /* Dma addresses are 32-bits wide. */ |
diff --git a/include/asm-ia64/types.h b/include/asm-ia64/types.h index 902850d12424..e36b3716e718 100644 --- a/include/asm-ia64/types.h +++ b/include/asm-ia64/types.h | |||
@@ -13,6 +13,8 @@ | |||
13 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co | 13 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co |
14 | */ | 14 | */ |
15 | 15 | ||
16 | #include <asm-generic/int-l64.h> | ||
17 | |||
16 | #ifdef __ASSEMBLY__ | 18 | #ifdef __ASSEMBLY__ |
17 | # define __IA64_UL(x) (x) | 19 | # define __IA64_UL(x) (x) |
18 | # define __IA64_UL_CONST(x) x | 20 | # define __IA64_UL_CONST(x) x |
@@ -28,39 +30,10 @@ | |||
28 | typedef unsigned int umode_t; | 30 | typedef unsigned int umode_t; |
29 | 31 | ||
30 | /* | 32 | /* |
31 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
32 | * header files exported to user space | ||
33 | */ | ||
34 | |||
35 | typedef __signed__ char __s8; | ||
36 | typedef unsigned char __u8; | ||
37 | |||
38 | typedef __signed__ short __s16; | ||
39 | typedef unsigned short __u16; | ||
40 | |||
41 | typedef __signed__ int __s32; | ||
42 | typedef unsigned int __u32; | ||
43 | |||
44 | typedef __signed__ long __s64; | ||
45 | typedef unsigned long __u64; | ||
46 | |||
47 | /* | ||
48 | * These aren't exported outside the kernel to avoid name space clashes | 33 | * These aren't exported outside the kernel to avoid name space clashes |
49 | */ | 34 | */ |
50 | # ifdef __KERNEL__ | 35 | # ifdef __KERNEL__ |
51 | 36 | ||
52 | typedef __s8 s8; | ||
53 | typedef __u8 u8; | ||
54 | |||
55 | typedef __s16 s16; | ||
56 | typedef __u16 u16; | ||
57 | |||
58 | typedef __s32 s32; | ||
59 | typedef __u32 u32; | ||
60 | |||
61 | typedef __s64 s64; | ||
62 | typedef __u64 u64; | ||
63 | |||
64 | #define BITS_PER_LONG 64 | 37 | #define BITS_PER_LONG 64 |
65 | 38 | ||
66 | /* DMA addresses are 64-bits wide, in general. */ | 39 | /* DMA addresses are 64-bits wide, in general. */ |
diff --git a/include/asm-m32r/types.h b/include/asm-m32r/types.h index b64c16639a7b..bc9f7fff0ac3 100644 --- a/include/asm-m32r/types.h +++ b/include/asm-m32r/types.h | |||
@@ -1,28 +1,12 @@ | |||
1 | #ifndef _ASM_M32R_TYPES_H | 1 | #ifndef _ASM_M32R_TYPES_H |
2 | #define _ASM_M32R_TYPES_H | 2 | #define _ASM_M32R_TYPES_H |
3 | 3 | ||
4 | #include <asm-generic/int-ll64.h> | ||
5 | |||
4 | #ifndef __ASSEMBLY__ | 6 | #ifndef __ASSEMBLY__ |
5 | 7 | ||
6 | typedef unsigned short umode_t; | 8 | typedef unsigned short umode_t; |
7 | 9 | ||
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 | #endif /* __ASSEMBLY__ */ | 10 | #endif /* __ASSEMBLY__ */ |
27 | 11 | ||
28 | /* | 12 | /* |
@@ -34,18 +18,6 @@ __extension__ typedef unsigned long long __u64; | |||
34 | 18 | ||
35 | #ifndef __ASSEMBLY__ | 19 | #ifndef __ASSEMBLY__ |
36 | 20 | ||
37 | typedef signed char s8; | ||
38 | typedef unsigned char u8; | ||
39 | |||
40 | typedef signed short s16; | ||
41 | typedef unsigned short u16; | ||
42 | |||
43 | typedef signed int s32; | ||
44 | typedef unsigned int u32; | ||
45 | |||
46 | typedef signed long long s64; | ||
47 | typedef unsigned long long u64; | ||
48 | |||
49 | /* DMA addresses are 32-bits wide. */ | 21 | /* DMA addresses are 32-bits wide. */ |
50 | 22 | ||
51 | typedef u32 dma_addr_t; | 23 | typedef u32 dma_addr_t; |
diff --git a/include/asm-m68k/types.h b/include/asm-m68k/types.h index c35c09d93b66..6441cb5f8e7c 100644 --- a/include/asm-m68k/types.h +++ b/include/asm-m68k/types.h | |||
@@ -8,30 +8,12 @@ | |||
8 | * not a major issue. However, for interoperability, libraries still | 8 | * not a major issue. However, for interoperability, libraries still |
9 | * need to be careful to avoid a name clashes. | 9 | * need to be careful to avoid a name clashes. |
10 | */ | 10 | */ |
11 | #include <asm-generic/int-ll64.h> | ||
11 | 12 | ||
12 | #ifndef __ASSEMBLY__ | 13 | #ifndef __ASSEMBLY__ |
13 | 14 | ||
14 | typedef unsigned short umode_t; | 15 | typedef unsigned short umode_t; |
15 | 16 | ||
16 | /* | ||
17 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
18 | * header files exported to user space | ||
19 | */ | ||
20 | |||
21 | typedef __signed__ char __s8; | ||
22 | typedef unsigned char __u8; | ||
23 | |||
24 | typedef __signed__ short __s16; | ||
25 | typedef unsigned short __u16; | ||
26 | |||
27 | typedef __signed__ int __s32; | ||
28 | typedef unsigned int __u32; | ||
29 | |||
30 | #if defined(__GNUC__) | ||
31 | __extension__ typedef __signed__ long long __s64; | ||
32 | __extension__ typedef unsigned long long __u64; | ||
33 | #endif | ||
34 | |||
35 | #endif /* __ASSEMBLY__ */ | 17 | #endif /* __ASSEMBLY__ */ |
36 | 18 | ||
37 | /* | 19 | /* |
@@ -43,18 +25,6 @@ __extension__ typedef unsigned long long __u64; | |||
43 | 25 | ||
44 | #ifndef __ASSEMBLY__ | 26 | #ifndef __ASSEMBLY__ |
45 | 27 | ||
46 | typedef signed char s8; | ||
47 | typedef unsigned char u8; | ||
48 | |||
49 | typedef signed short s16; | ||
50 | typedef unsigned short u16; | ||
51 | |||
52 | typedef signed int s32; | ||
53 | typedef unsigned int u32; | ||
54 | |||
55 | typedef signed long long s64; | ||
56 | typedef unsigned long long u64; | ||
57 | |||
58 | /* DMA addresses are always 32-bits wide */ | 28 | /* DMA addresses are always 32-bits wide */ |
59 | 29 | ||
60 | typedef u32 dma_addr_t; | 30 | typedef u32 dma_addr_t; |
diff --git a/include/asm-mips/types.h b/include/asm-mips/types.h index 2dd147f519d1..7a2ee4f40131 100644 --- a/include/asm-mips/types.h +++ b/include/asm-mips/types.h | |||
@@ -9,36 +9,16 @@ | |||
9 | #ifndef _ASM_TYPES_H | 9 | #ifndef _ASM_TYPES_H |
10 | #define _ASM_TYPES_H | 10 | #define _ASM_TYPES_H |
11 | 11 | ||
12 | #if _MIPS_SZLONG == 64 | ||
13 | # include <asm-generic/int-l64.h> | ||
14 | #else | ||
15 | # include <asm-generic/int-ll64.h> | ||
16 | #endif | ||
17 | |||
12 | #ifndef __ASSEMBLY__ | 18 | #ifndef __ASSEMBLY__ |
13 | 19 | ||
14 | typedef unsigned short umode_t; | 20 | typedef unsigned short umode_t; |
15 | 21 | ||
16 | /* | ||
17 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
18 | * header files exported to user space | ||
19 | */ | ||
20 | |||
21 | typedef __signed__ char __s8; | ||
22 | typedef unsigned char __u8; | ||
23 | |||
24 | typedef __signed__ short __s16; | ||
25 | typedef unsigned short __u16; | ||
26 | |||
27 | typedef __signed__ int __s32; | ||
28 | typedef unsigned int __u32; | ||
29 | |||
30 | #if (_MIPS_SZLONG == 64) | ||
31 | |||
32 | typedef __signed__ long __s64; | ||
33 | typedef unsigned long __u64; | ||
34 | |||
35 | #else | ||
36 | |||
37 | #if defined(__GNUC__) | ||
38 | __extension__ typedef __signed__ long long __s64; | ||
39 | __extension__ typedef unsigned long long __u64; | ||
40 | #endif | ||
41 | |||
42 | #endif | 22 | #endif |
43 | 23 | ||
44 | #endif /* __ASSEMBLY__ */ | 24 | #endif /* __ASSEMBLY__ */ |
@@ -52,30 +32,6 @@ __extension__ typedef unsigned long long __u64; | |||
52 | 32 | ||
53 | #ifndef __ASSEMBLY__ | 33 | #ifndef __ASSEMBLY__ |
54 | 34 | ||
55 | |||
56 | typedef __signed char s8; | ||
57 | typedef unsigned char u8; | ||
58 | |||
59 | typedef __signed short s16; | ||
60 | typedef unsigned short u16; | ||
61 | |||
62 | typedef __signed int s32; | ||
63 | typedef unsigned int u32; | ||
64 | |||
65 | #if (_MIPS_SZLONG == 64) | ||
66 | |||
67 | typedef __signed__ long s64; | ||
68 | typedef unsigned long u64; | ||
69 | |||
70 | #else | ||
71 | |||
72 | #if defined(__GNUC__) && !defined(__STRICT_ANSI__) | ||
73 | typedef __signed__ long long s64; | ||
74 | typedef unsigned long long u64; | ||
75 | #endif | ||
76 | |||
77 | #endif | ||
78 | |||
79 | #if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \ | 35 | #if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \ |
80 | || defined(CONFIG_64BIT) | 36 | || defined(CONFIG_64BIT) |
81 | typedef u64 dma_addr_t; | 37 | typedef u64 dma_addr_t; |
diff --git a/include/asm-mn10300/types.h b/include/asm-mn10300/types.h index d40ea7628bfc..7b9f01042fd4 100644 --- a/include/asm-mn10300/types.h +++ b/include/asm-mn10300/types.h | |||
@@ -11,29 +11,12 @@ | |||
11 | #ifndef _ASM_TYPES_H | 11 | #ifndef _ASM_TYPES_H |
12 | #define _ASM_TYPES_H | 12 | #define _ASM_TYPES_H |
13 | 13 | ||
14 | #include <asm-generic/int-ll64.h> | ||
15 | |||
14 | #ifndef __ASSEMBLY__ | 16 | #ifndef __ASSEMBLY__ |
15 | 17 | ||
16 | typedef unsigned short umode_t; | 18 | typedef unsigned short umode_t; |
17 | 19 | ||
18 | /* | ||
19 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
20 | * header files exported to user space | ||
21 | */ | ||
22 | |||
23 | typedef __signed__ char __s8; | ||
24 | typedef unsigned char __u8; | ||
25 | |||
26 | typedef __signed__ short __s16; | ||
27 | typedef unsigned short __u16; | ||
28 | |||
29 | typedef __signed__ int __s32; | ||
30 | typedef unsigned int __u32; | ||
31 | |||
32 | #if defined(__GNUC__) && !defined(__STRICT_ANSI__) | ||
33 | typedef __signed__ long long __s64; | ||
34 | typedef unsigned long long __u64; | ||
35 | #endif | ||
36 | |||
37 | #endif /* __ASSEMBLY__ */ | 20 | #endif /* __ASSEMBLY__ */ |
38 | 21 | ||
39 | /* | 22 | /* |
@@ -45,18 +28,6 @@ typedef unsigned long long __u64; | |||
45 | 28 | ||
46 | #ifndef __ASSEMBLY__ | 29 | #ifndef __ASSEMBLY__ |
47 | 30 | ||
48 | typedef signed char s8; | ||
49 | typedef unsigned char u8; | ||
50 | |||
51 | typedef signed short s16; | ||
52 | typedef unsigned short u16; | ||
53 | |||
54 | typedef signed int s32; | ||
55 | typedef unsigned int u32; | ||
56 | |||
57 | typedef signed long long s64; | ||
58 | typedef unsigned long long u64; | ||
59 | |||
60 | /* Dma addresses are 32-bits wide. */ | 31 | /* Dma addresses are 32-bits wide. */ |
61 | typedef u32 dma_addr_t; | 32 | typedef u32 dma_addr_t; |
62 | 33 | ||
diff --git a/include/asm-parisc/types.h b/include/asm-parisc/types.h index 56c84802da59..7f5a39bfb4ce 100644 --- a/include/asm-parisc/types.h +++ b/include/asm-parisc/types.h | |||
@@ -1,29 +1,12 @@ | |||
1 | #ifndef _PARISC_TYPES_H | 1 | #ifndef _PARISC_TYPES_H |
2 | #define _PARISC_TYPES_H | 2 | #define _PARISC_TYPES_H |
3 | 3 | ||
4 | #include <asm-generic/int-ll64.h> | ||
5 | |||
4 | #ifndef __ASSEMBLY__ | 6 | #ifndef __ASSEMBLY__ |
5 | 7 | ||
6 | typedef unsigned short umode_t; | 8 | typedef unsigned short umode_t; |
7 | 9 | ||
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__ */ | 10 | #endif /* __ASSEMBLY__ */ |
28 | 11 | ||
29 | /* | 12 | /* |
@@ -41,18 +24,6 @@ __extension__ typedef unsigned long long __u64; | |||
41 | 24 | ||
42 | #ifndef __ASSEMBLY__ | 25 | #ifndef __ASSEMBLY__ |
43 | 26 | ||
44 | typedef signed char s8; | ||
45 | typedef unsigned char u8; | ||
46 | |||
47 | typedef signed short s16; | ||
48 | typedef unsigned short u16; | ||
49 | |||
50 | typedef signed int s32; | ||
51 | typedef unsigned int u32; | ||
52 | |||
53 | typedef signed long long s64; | ||
54 | typedef unsigned long long u64; | ||
55 | |||
56 | /* Dma addresses are 32-bits wide. */ | 27 | /* Dma addresses are 32-bits wide. */ |
57 | 28 | ||
58 | typedef u32 dma_addr_t; | 29 | typedef u32 dma_addr_t; |
diff --git a/include/asm-powerpc/ps3.h b/include/asm-powerpc/ps3.h index 9e8ed6824e15..81ffe3b3c1ce 100644 --- a/include/asm-powerpc/ps3.h +++ b/include/asm-powerpc/ps3.h | |||
@@ -178,9 +178,6 @@ enum ps3_cpu_binding { | |||
178 | PS3_BINDING_CPU_1 = 1, | 178 | PS3_BINDING_CPU_1 = 1, |
179 | }; | 179 | }; |
180 | 180 | ||
181 | int ps3_virq_setup(enum ps3_cpu_binding cpu, unsigned long outlet, | ||
182 | unsigned int *virq); | ||
183 | int ps3_virq_destroy(unsigned int virq); | ||
184 | int ps3_irq_plug_setup(enum ps3_cpu_binding cpu, unsigned long outlet, | 181 | int ps3_irq_plug_setup(enum ps3_cpu_binding cpu, unsigned long outlet, |
185 | unsigned int *virq); | 182 | unsigned int *virq); |
186 | int ps3_irq_plug_destroy(unsigned int virq); | 183 | int ps3_irq_plug_destroy(unsigned int virq); |
diff --git a/include/asm-powerpc/syscalls.h b/include/asm-powerpc/syscalls.h index b3ca41fc8bb1..2b8a458f990a 100644 --- a/include/asm-powerpc/syscalls.h +++ b/include/asm-powerpc/syscalls.h | |||
@@ -30,7 +30,7 @@ asmlinkage int sys_fork(unsigned long p1, unsigned long p2, | |||
30 | asmlinkage int sys_vfork(unsigned long p1, unsigned long p2, | 30 | asmlinkage int sys_vfork(unsigned long p1, unsigned long p2, |
31 | unsigned long p3, unsigned long p4, unsigned long p5, | 31 | unsigned long p3, unsigned long p4, unsigned long p5, |
32 | unsigned long p6, struct pt_regs *regs); | 32 | unsigned long p6, struct pt_regs *regs); |
33 | asmlinkage int sys_pipe(int __user *fildes); | 33 | asmlinkage long sys_pipe(int __user *fildes); |
34 | asmlinkage long sys_rt_sigaction(int sig, | 34 | asmlinkage long sys_rt_sigaction(int sig, |
35 | const struct sigaction __user *act, | 35 | const struct sigaction __user *act, |
36 | struct sigaction __user *oact, size_t sigsetsize); | 36 | struct sigaction __user *oact, size_t sigsetsize); |
diff --git a/include/asm-powerpc/types.h b/include/asm-powerpc/types.h index c243a6ac60e5..d3374bc865ba 100644 --- a/include/asm-powerpc/types.h +++ b/include/asm-powerpc/types.h | |||
@@ -1,6 +1,12 @@ | |||
1 | #ifndef _ASM_POWERPC_TYPES_H | 1 | #ifndef _ASM_POWERPC_TYPES_H |
2 | #define _ASM_POWERPC_TYPES_H | 2 | #define _ASM_POWERPC_TYPES_H |
3 | 3 | ||
4 | #ifdef __powerpc64__ | ||
5 | # include <asm-generic/int-l64.h> | ||
6 | #else | ||
7 | # include <asm-generic/int-ll64.h> | ||
8 | #endif | ||
9 | |||
4 | #ifndef __ASSEMBLY__ | 10 | #ifndef __ASSEMBLY__ |
5 | 11 | ||
6 | /* | 12 | /* |
@@ -22,30 +28,6 @@ typedef unsigned int umode_t; | |||
22 | typedef unsigned short umode_t; | 28 | typedef unsigned short umode_t; |
23 | #endif | 29 | #endif |
24 | 30 | ||
25 | /* | ||
26 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
27 | * header files exported to user space | ||
28 | */ | ||
29 | |||
30 | typedef __signed__ char __s8; | ||
31 | typedef unsigned char __u8; | ||
32 | |||
33 | typedef __signed__ short __s16; | ||
34 | typedef unsigned short __u16; | ||
35 | |||
36 | typedef __signed__ int __s32; | ||
37 | typedef unsigned int __u32; | ||
38 | |||
39 | #ifdef __powerpc64__ | ||
40 | typedef __signed__ long __s64; | ||
41 | typedef unsigned long __u64; | ||
42 | #else | ||
43 | #if defined(__GNUC__) | ||
44 | __extension__ typedef __signed__ long long __s64; | ||
45 | __extension__ typedef unsigned long long __u64; | ||
46 | #endif | ||
47 | #endif /* __powerpc64__ */ | ||
48 | |||
49 | typedef struct { | 31 | typedef struct { |
50 | __u32 u[4]; | 32 | __u32 u[4]; |
51 | } __attribute__((aligned(16))) __vector128; | 33 | } __attribute__((aligned(16))) __vector128; |
@@ -64,24 +46,6 @@ typedef struct { | |||
64 | 46 | ||
65 | #ifndef __ASSEMBLY__ | 47 | #ifndef __ASSEMBLY__ |
66 | 48 | ||
67 | |||
68 | typedef signed char s8; | ||
69 | typedef unsigned char u8; | ||
70 | |||
71 | typedef signed short s16; | ||
72 | typedef unsigned short u16; | ||
73 | |||
74 | typedef signed int s32; | ||
75 | typedef unsigned int u32; | ||
76 | |||
77 | #ifdef __powerpc64__ | ||
78 | typedef signed long s64; | ||
79 | typedef unsigned long u64; | ||
80 | #else | ||
81 | typedef signed long long s64; | ||
82 | typedef unsigned long long u64; | ||
83 | #endif | ||
84 | |||
85 | typedef __vector128 vector128; | 49 | typedef __vector128 vector128; |
86 | 50 | ||
87 | /* Physical address used by some IO functions */ | 51 | /* Physical address used by some IO functions */ |
diff --git a/include/asm-s390/types.h b/include/asm-s390/types.h index 2c5879ae90ca..78dda038dd47 100644 --- a/include/asm-s390/types.h +++ b/include/asm-s390/types.h | |||
@@ -9,34 +9,16 @@ | |||
9 | #ifndef _S390_TYPES_H | 9 | #ifndef _S390_TYPES_H |
10 | #define _S390_TYPES_H | 10 | #define _S390_TYPES_H |
11 | 11 | ||
12 | #ifndef __s390x__ | ||
13 | # include <asm-generic/int-l64.h> | ||
14 | #else | ||
15 | # include <asm-generic/int-ll64.h> | ||
16 | #endif | ||
17 | |||
12 | #ifndef __ASSEMBLY__ | 18 | #ifndef __ASSEMBLY__ |
13 | 19 | ||
14 | typedef unsigned short umode_t; | 20 | typedef unsigned short umode_t; |
15 | 21 | ||
16 | /* | ||
17 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
18 | * header files exported to user space | ||
19 | */ | ||
20 | |||
21 | typedef __signed__ char __s8; | ||
22 | typedef unsigned char __u8; | ||
23 | |||
24 | typedef __signed__ short __s16; | ||
25 | typedef unsigned short __u16; | ||
26 | |||
27 | typedef __signed__ int __s32; | ||
28 | typedef unsigned int __u32; | ||
29 | |||
30 | #ifndef __s390x__ | ||
31 | #if defined(__GNUC__) | ||
32 | __extension__ typedef __signed__ long long __s64; | ||
33 | __extension__ typedef unsigned long long __u64; | ||
34 | #endif | ||
35 | #else /* __s390x__ */ | ||
36 | typedef __signed__ long __s64; | ||
37 | typedef unsigned long __u64; | ||
38 | #endif | ||
39 | |||
40 | /* A address type so that arithmetic can be done on it & it can be upgraded to | 22 | /* A address type so that arithmetic can be done on it & it can be upgraded to |
41 | 64 bit when necessary | 23 | 64 bit when necessary |
42 | */ | 24 | */ |
@@ -58,24 +40,6 @@ typedef __signed__ long saddr_t; | |||
58 | 40 | ||
59 | #ifndef __ASSEMBLY__ | 41 | #ifndef __ASSEMBLY__ |
60 | 42 | ||
61 | |||
62 | typedef signed char s8; | ||
63 | typedef unsigned char u8; | ||
64 | |||
65 | typedef signed short s16; | ||
66 | typedef unsigned short u16; | ||
67 | |||
68 | typedef signed int s32; | ||
69 | typedef unsigned int u32; | ||
70 | |||
71 | #ifndef __s390x__ | ||
72 | typedef signed long long s64; | ||
73 | typedef unsigned long long u64; | ||
74 | #else /* __s390x__ */ | ||
75 | typedef signed long s64; | ||
76 | typedef unsigned long u64; | ||
77 | #endif /* __s390x__ */ | ||
78 | |||
79 | typedef u32 dma_addr_t; | 43 | typedef u32 dma_addr_t; |
80 | 44 | ||
81 | #ifndef __s390x__ | 45 | #ifndef __s390x__ |
diff --git a/include/asm-sh/types.h b/include/asm-sh/types.h index a6e1d4126e67..beea4e6f8dfd 100644 --- a/include/asm-sh/types.h +++ b/include/asm-sh/types.h | |||
@@ -1,29 +1,12 @@ | |||
1 | #ifndef __ASM_SH_TYPES_H | 1 | #ifndef __ASM_SH_TYPES_H |
2 | #define __ASM_SH_TYPES_H | 2 | #define __ASM_SH_TYPES_H |
3 | 3 | ||
4 | #include <asm-generic/int-ll64.h> | ||
5 | |||
4 | #ifndef __ASSEMBLY__ | 6 | #ifndef __ASSEMBLY__ |
5 | 7 | ||
6 | typedef unsigned short umode_t; | 8 | typedef unsigned short umode_t; |
7 | 9 | ||
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__ */ | 10 | #endif /* __ASSEMBLY__ */ |
28 | 11 | ||
29 | /* | 12 | /* |
@@ -35,19 +18,6 @@ __extension__ typedef unsigned long long __u64; | |||
35 | 18 | ||
36 | #ifndef __ASSEMBLY__ | 19 | #ifndef __ASSEMBLY__ |
37 | 20 | ||
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 are 32-bits wide. */ | 21 | /* Dma addresses are 32-bits wide. */ |
52 | 22 | ||
53 | typedef u32 dma_addr_t; | 23 | typedef u32 dma_addr_t; |
diff --git a/include/asm-sparc/oplib.h b/include/asm-sparc/oplib.h index 17ba82ee220a..7becc846544a 100644 --- a/include/asm-sparc/oplib.h +++ b/include/asm-sparc/oplib.h | |||
@@ -34,9 +34,6 @@ extern unsigned int prom_rev, prom_prev; | |||
34 | */ | 34 | */ |
35 | extern int prom_root_node; | 35 | extern int prom_root_node; |
36 | 36 | ||
37 | /* PROM stdin and stdout */ | ||
38 | extern int prom_stdin, prom_stdout; | ||
39 | |||
40 | /* Pointer to prom structure containing the device tree traversal | 37 | /* Pointer to prom structure containing the device tree traversal |
41 | * and usage utility functions. Only prom-lib should use these, | 38 | * and usage utility functions. Only prom-lib should use these, |
42 | * users use the interface defined by the library only! | 39 | * users use the interface defined by the library only! |
@@ -84,20 +81,6 @@ extern int prom_devclose(int device_handle); | |||
84 | extern void prom_seek(int device_handle, unsigned int seek_hival, | 81 | extern void prom_seek(int device_handle, unsigned int seek_hival, |
85 | unsigned int seek_lowval); | 82 | unsigned int seek_lowval); |
86 | 83 | ||
87 | /* Machine memory configuration routine. */ | ||
88 | |||
89 | /* This function returns a V0 format memory descriptor table, it has three | ||
90 | * entries. One for the total amount of physical ram on the machine, one | ||
91 | * for the amount of physical ram available, and one describing the virtual | ||
92 | * areas which are allocated by the prom. So, in a sense the physical | ||
93 | * available is a calculation of the total physical minus the physical mapped | ||
94 | * by the prom with virtual mappings. | ||
95 | * | ||
96 | * These lists are returned pre-sorted, this should make your life easier | ||
97 | * since the prom itself is way too lazy to do such nice things. | ||
98 | */ | ||
99 | extern struct linux_mem_v0 *prom_meminfo(void); | ||
100 | |||
101 | /* Miscellaneous routines, don't really fit in any category per se. */ | 84 | /* Miscellaneous routines, don't really fit in any category per se. */ |
102 | 85 | ||
103 | /* Reboot the machine with the command line passed. */ | 86 | /* Reboot the machine with the command line passed. */ |
diff --git a/include/asm-sparc/page.h b/include/asm-sparc/page.h index 39ccf2da297c..1625a8c3e0d2 100644 --- a/include/asm-sparc/page.h +++ b/include/asm-sparc/page.h | |||
@@ -38,12 +38,11 @@ | |||
38 | 38 | ||
39 | /* The following structure is used to hold the physical | 39 | /* The following structure is used to hold the physical |
40 | * memory configuration of the machine. This is filled in | 40 | * memory configuration of the machine. This is filled in |
41 | * probe_memory() and is later used by mem_init() to set up | 41 | * prom_meminit() and is later used by mem_init() to set up |
42 | * mem_map[]. We statically allocate SPARC_PHYS_BANKS of | 42 | * mem_map[]. We statically allocate SPARC_PHYS_BANKS+1 of |
43 | * these structs, this is arbitrary. The entry after the | 43 | * these structs, this is arbitrary. The entry after the |
44 | * last valid one has num_bytes==0. | 44 | * last valid one has num_bytes==0. |
45 | */ | 45 | */ |
46 | |||
47 | struct sparc_phys_banks { | 46 | struct sparc_phys_banks { |
48 | unsigned long base_addr; | 47 | unsigned long base_addr; |
49 | unsigned long num_bytes; | 48 | unsigned long num_bytes; |
diff --git a/include/asm-sparc/types.h b/include/asm-sparc/types.h index 42fc6ed98156..1b08ef860a66 100644 --- a/include/asm-sparc/types.h +++ b/include/asm-sparc/types.h | |||
@@ -3,34 +3,18 @@ | |||
3 | #define _SPARC_TYPES_H | 3 | #define _SPARC_TYPES_H |
4 | 4 | ||
5 | /* | 5 | /* |
6 | * _xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
7 | * header files exported to user space. | ||
8 | */ | ||
9 | |||
10 | /* | ||
11 | * This file is never included by application software unless | 6 | * This file is never included by application software unless |
12 | * explicitly requested (e.g., via linux/types.h) in which case the | 7 | * explicitly requested (e.g., via linux/types.h) in which case the |
13 | * application is Linux specific so (user-) name space pollution is | 8 | * application is Linux specific so (user-) name space pollution is |
14 | * not a major issue. However, for interoperability, libraries still | 9 | * not a major issue. However, for interoperability, libraries still |
15 | * need to be careful to avoid a name clashes. | 10 | * need to be careful to avoid a name clashes. |
16 | */ | 11 | */ |
12 | #include <asm-generic/int-ll64.h> | ||
17 | 13 | ||
18 | #ifndef __ASSEMBLY__ | 14 | #ifndef __ASSEMBLY__ |
19 | 15 | ||
20 | typedef unsigned short umode_t; | 16 | typedef unsigned short umode_t; |
21 | 17 | ||
22 | typedef __signed__ char __s8; | ||
23 | typedef unsigned char __u8; | ||
24 | |||
25 | typedef __signed__ short __s16; | ||
26 | typedef unsigned short __u16; | ||
27 | |||
28 | typedef __signed__ int __s32; | ||
29 | typedef unsigned int __u32; | ||
30 | |||
31 | typedef __signed__ long long __s64; | ||
32 | typedef unsigned long long __u64; | ||
33 | |||
34 | #endif /* __ASSEMBLY__ */ | 18 | #endif /* __ASSEMBLY__ */ |
35 | 19 | ||
36 | #ifdef __KERNEL__ | 20 | #ifdef __KERNEL__ |
@@ -39,18 +23,6 @@ typedef unsigned long long __u64; | |||
39 | 23 | ||
40 | #ifndef __ASSEMBLY__ | 24 | #ifndef __ASSEMBLY__ |
41 | 25 | ||
42 | typedef __signed__ char s8; | ||
43 | typedef unsigned char u8; | ||
44 | |||
45 | typedef __signed__ short s16; | ||
46 | typedef unsigned short u16; | ||
47 | |||
48 | typedef __signed__ int s32; | ||
49 | typedef unsigned int u32; | ||
50 | |||
51 | typedef __signed__ long long s64; | ||
52 | typedef unsigned long long u64; | ||
53 | |||
54 | typedef u32 dma_addr_t; | 26 | typedef u32 dma_addr_t; |
55 | typedef u32 dma64_addr_t; | 27 | typedef u32 dma64_addr_t; |
56 | 28 | ||
diff --git a/include/asm-sparc64/types.h b/include/asm-sparc64/types.h index d0ee7f105838..5dbe04f4044a 100644 --- a/include/asm-sparc64/types.h +++ b/include/asm-sparc64/types.h | |||
@@ -9,28 +9,12 @@ | |||
9 | * not a major issue. However, for interoperability, libraries still | 9 | * not a major issue. However, for interoperability, libraries still |
10 | * need to be careful to avoid a name clashes. | 10 | * need to be careful to avoid a name clashes. |
11 | */ | 11 | */ |
12 | #include <asm-generic/int-l64.h> | ||
12 | 13 | ||
13 | #ifndef __ASSEMBLY__ | 14 | #ifndef __ASSEMBLY__ |
14 | 15 | ||
15 | typedef unsigned short umode_t; | 16 | typedef unsigned short umode_t; |
16 | 17 | ||
17 | /* | ||
18 | * _xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
19 | * header files exported to user space. | ||
20 | */ | ||
21 | |||
22 | typedef __signed__ char __s8; | ||
23 | typedef unsigned char __u8; | ||
24 | |||
25 | typedef __signed__ short __s16; | ||
26 | typedef unsigned short __u16; | ||
27 | |||
28 | typedef __signed__ int __s32; | ||
29 | typedef unsigned int __u32; | ||
30 | |||
31 | typedef __signed__ long __s64; | ||
32 | typedef unsigned long __u64; | ||
33 | |||
34 | #endif /* __ASSEMBLY__ */ | 18 | #endif /* __ASSEMBLY__ */ |
35 | 19 | ||
36 | #ifdef __KERNEL__ | 20 | #ifdef __KERNEL__ |
@@ -39,18 +23,6 @@ typedef unsigned long __u64; | |||
39 | 23 | ||
40 | #ifndef __ASSEMBLY__ | 24 | #ifndef __ASSEMBLY__ |
41 | 25 | ||
42 | typedef __signed__ char s8; | ||
43 | typedef unsigned char u8; | ||
44 | |||
45 | typedef __signed__ short s16; | ||
46 | typedef unsigned short u16; | ||
47 | |||
48 | typedef __signed__ int s32; | ||
49 | typedef unsigned int u32; | ||
50 | |||
51 | typedef __signed__ long s64; | ||
52 | typedef unsigned long u64; | ||
53 | |||
54 | /* Dma addresses come in generic and 64-bit flavours. */ | 26 | /* Dma addresses come in generic and 64-bit flavours. */ |
55 | 27 | ||
56 | typedef u32 dma_addr_t; | 28 | typedef u32 dma_addr_t; |
diff --git a/include/asm-v850/types.h b/include/asm-v850/types.h index 284bda882112..89f735ee41dd 100644 --- a/include/asm-v850/types.h +++ b/include/asm-v850/types.h | |||
@@ -10,28 +10,10 @@ | |||
10 | * not a major issue. However, for interoperability, libraries still | 10 | * not a major issue. However, for interoperability, libraries still |
11 | * need to be careful to avoid a name clashes. | 11 | * need to be careful to avoid a name clashes. |
12 | */ | 12 | */ |
13 | #include <asm-generic/int-ll64.h> | ||
13 | 14 | ||
14 | typedef unsigned short umode_t; | 15 | typedef unsigned short umode_t; |
15 | 16 | ||
16 | /* | ||
17 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
18 | * header files exported to user space | ||
19 | */ | ||
20 | |||
21 | typedef __signed__ char __s8; | ||
22 | typedef unsigned char __u8; | ||
23 | |||
24 | typedef __signed__ short __s16; | ||
25 | typedef unsigned short __u16; | ||
26 | |||
27 | typedef __signed__ int __s32; | ||
28 | typedef unsigned int __u32; | ||
29 | |||
30 | #if defined(__GNUC__) | ||
31 | __extension__ typedef __signed__ long long __s64; | ||
32 | __extension__ typedef unsigned long long __u64; | ||
33 | #endif | ||
34 | |||
35 | #endif /* !__ASSEMBLY__ */ | 17 | #endif /* !__ASSEMBLY__ */ |
36 | 18 | ||
37 | /* | 19 | /* |
@@ -43,18 +25,6 @@ __extension__ typedef unsigned long long __u64; | |||
43 | 25 | ||
44 | #ifndef __ASSEMBLY__ | 26 | #ifndef __ASSEMBLY__ |
45 | 27 | ||
46 | typedef signed char s8; | ||
47 | typedef unsigned char u8; | ||
48 | |||
49 | typedef signed short s16; | ||
50 | typedef unsigned short u16; | ||
51 | |||
52 | typedef signed int s32; | ||
53 | typedef unsigned int u32; | ||
54 | |||
55 | typedef signed long long s64; | ||
56 | typedef unsigned long long u64; | ||
57 | |||
58 | /* Dma addresses are 32-bits wide. */ | 28 | /* Dma addresses are 32-bits wide. */ |
59 | 29 | ||
60 | typedef u32 dma_addr_t; | 30 | typedef u32 dma_addr_t; |
diff --git a/include/asm-x86/types.h b/include/asm-x86/types.h index 63733f315688..1ac80cd9acf8 100644 --- a/include/asm-x86/types.h +++ b/include/asm-x86/types.h | |||
@@ -1,34 +1,12 @@ | |||
1 | #ifndef _ASM_X86_TYPES_H | 1 | #ifndef _ASM_X86_TYPES_H |
2 | #define _ASM_X86_TYPES_H | 2 | #define _ASM_X86_TYPES_H |
3 | 3 | ||
4 | #include <asm-generic/int-ll64.h> | ||
5 | |||
4 | #ifndef __ASSEMBLY__ | 6 | #ifndef __ASSEMBLY__ |
5 | 7 | ||
6 | typedef unsigned short umode_t; | 8 | typedef unsigned short umode_t; |
7 | 9 | ||
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; | ||
26 | # endif | ||
27 | #else | ||
28 | typedef __signed__ long long __s64; | ||
29 | typedef unsigned long long __u64; | ||
30 | #endif | ||
31 | |||
32 | #endif /* __ASSEMBLY__ */ | 10 | #endif /* __ASSEMBLY__ */ |
33 | 11 | ||
34 | /* | 12 | /* |
@@ -44,18 +22,6 @@ typedef unsigned long long __u64; | |||
44 | 22 | ||
45 | #ifndef __ASSEMBLY__ | 23 | #ifndef __ASSEMBLY__ |
46 | 24 | ||
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; | 25 | typedef u64 dma64_addr_t; |
60 | #if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G) | 26 | #if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G) |
61 | /* DMA addresses come in 32-bit and 64-bit flavours. */ | 27 | /* DMA addresses come in 32-bit and 64-bit flavours. */ |
diff --git a/include/asm-xtensa/types.h b/include/asm-xtensa/types.h index b27d841a8eb7..c89569a8da0c 100644 --- a/include/asm-xtensa/types.h +++ b/include/asm-xtensa/types.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #ifndef _XTENSA_TYPES_H | 11 | #ifndef _XTENSA_TYPES_H |
12 | #define _XTENSA_TYPES_H | 12 | #define _XTENSA_TYPES_H |
13 | 13 | ||
14 | #include <asm-generic/int-ll64.h> | ||
14 | 15 | ||
15 | #ifdef __ASSEMBLY__ | 16 | #ifdef __ASSEMBLY__ |
16 | # define __XTENSA_UL(x) (x) | 17 | # define __XTENSA_UL(x) (x) |
@@ -25,42 +26,10 @@ | |||
25 | typedef unsigned short umode_t; | 26 | typedef unsigned short umode_t; |
26 | 27 | ||
27 | /* | 28 | /* |
28 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
29 | * header files exported to user space | ||
30 | */ | ||
31 | |||
32 | typedef __signed__ char __s8; | ||
33 | typedef unsigned char __u8; | ||
34 | |||
35 | typedef __signed__ short __s16; | ||
36 | typedef unsigned short __u16; | ||
37 | |||
38 | typedef __signed__ int __s32; | ||
39 | typedef unsigned int __u32; | ||
40 | |||
41 | #if defined(__GNUC__) | ||
42 | __extension__ typedef __signed__ long long __s64; | ||
43 | __extension__ typedef unsigned long long __u64; | ||
44 | #endif | ||
45 | |||
46 | /* | ||
47 | * These aren't exported outside the kernel to avoid name space clashes | 29 | * These aren't exported outside the kernel to avoid name space clashes |
48 | */ | 30 | */ |
49 | #ifdef __KERNEL__ | 31 | #ifdef __KERNEL__ |
50 | 32 | ||
51 | typedef __signed__ char s8; | ||
52 | typedef unsigned char u8; | ||
53 | |||
54 | typedef __signed__ short s16; | ||
55 | typedef unsigned short u16; | ||
56 | |||
57 | typedef __signed__ int s32; | ||
58 | typedef unsigned int u32; | ||
59 | |||
60 | typedef __signed__ long long s64; | ||
61 | typedef unsigned long long u64; | ||
62 | |||
63 | |||
64 | #define BITS_PER_LONG 32 | 33 | #define BITS_PER_LONG 32 |
65 | 34 | ||
66 | /* Dma addresses are 32-bits wide. */ | 35 | /* Dma addresses are 32-bits wide. */ |
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 529f301d9372..0b5e03eae6d2 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -113,7 +113,7 @@ struct ieee80211_hdr { | |||
113 | struct ieee80211s_hdr { | 113 | struct ieee80211s_hdr { |
114 | u8 flags; | 114 | u8 flags; |
115 | u8 ttl; | 115 | u8 ttl; |
116 | u8 seqnum[3]; | 116 | __le32 seqnum; |
117 | u8 eaddr1[6]; | 117 | u8 eaddr1[6]; |
118 | u8 eaddr2[6]; | 118 | u8 eaddr2[6]; |
119 | u8 eaddr3[6]; | 119 | u8 eaddr3[6]; |
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h index 58e43e566457..950e13d09e06 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h | |||
@@ -97,7 +97,9 @@ struct __fdb_entry | |||
97 | __u8 port_no; | 97 | __u8 port_no; |
98 | __u8 is_local; | 98 | __u8 is_local; |
99 | __u32 ageing_timer_value; | 99 | __u32 ageing_timer_value; |
100 | __u32 unused; | 100 | __u8 port_hi; |
101 | __u8 pad0; | ||
102 | __u16 unused; | ||
101 | }; | 103 | }; |
102 | 104 | ||
103 | #ifdef __KERNEL__ | 105 | #ifdef __KERNEL__ |
diff --git a/include/linux/pda_power.h b/include/linux/pda_power.h index 225beb136807..cb7d10f30763 100644 --- a/include/linux/pda_power.h +++ b/include/linux/pda_power.h | |||
@@ -16,10 +16,14 @@ | |||
16 | #define PDA_POWER_CHARGE_AC (1 << 0) | 16 | #define PDA_POWER_CHARGE_AC (1 << 0) |
17 | #define PDA_POWER_CHARGE_USB (1 << 1) | 17 | #define PDA_POWER_CHARGE_USB (1 << 1) |
18 | 18 | ||
19 | struct device; | ||
20 | |||
19 | struct pda_power_pdata { | 21 | struct pda_power_pdata { |
22 | int (*init)(struct device *dev); | ||
20 | int (*is_ac_online)(void); | 23 | int (*is_ac_online)(void); |
21 | int (*is_usb_online)(void); | 24 | int (*is_usb_online)(void); |
22 | void (*set_charge)(int flags); | 25 | void (*set_charge)(int flags); |
26 | void (*exit)(struct device *dev); | ||
23 | 27 | ||
24 | char **supplied_to; | 28 | char **supplied_to; |
25 | size_t num_supplicants; | 29 | size_t num_supplicants; |
diff --git a/include/linux/rio.h b/include/linux/rio.h index c1c99c9643d3..dc0c75556c63 100644 --- a/include/linux/rio.h +++ b/include/linux/rio.h | |||
@@ -161,6 +161,8 @@ enum rio_phy_type { | |||
161 | * @ops: configuration space functions | 161 | * @ops: configuration space functions |
162 | * @id: Port ID, unique among all ports | 162 | * @id: Port ID, unique among all ports |
163 | * @index: Port index, unique among all port interfaces of the same type | 163 | * @index: Port index, unique among all port interfaces of the same type |
164 | * @sys_size: RapidIO common transport system size | ||
165 | * @phy_type: RapidIO phy type | ||
164 | * @name: Port name string | 166 | * @name: Port name string |
165 | * @priv: Master port private data | 167 | * @priv: Master port private data |
166 | */ | 168 | */ |
diff --git a/include/linux/wireless.h b/include/linux/wireless.h index 2864b1699ecc..0a9b5b41ed67 100644 --- a/include/linux/wireless.h +++ b/include/linux/wireless.h | |||
@@ -69,14 +69,9 @@ | |||
69 | 69 | ||
70 | /***************************** INCLUDES *****************************/ | 70 | /***************************** INCLUDES *****************************/ |
71 | 71 | ||
72 | /* This header is used in user-space, therefore need to be sanitised | 72 | #include <linux/types.h> /* for __u* and __s* typedefs */ |
73 | * for that purpose. Those includes are usually not compatible with glibc. | ||
74 | * To know which includes to use in user-space, check iwlib.h. */ | ||
75 | #ifdef __KERNEL__ | ||
76 | #include <linux/types.h> /* for "caddr_t" et al */ | ||
77 | #include <linux/socket.h> /* for "struct sockaddr" et al */ | 73 | #include <linux/socket.h> /* for "struct sockaddr" et al */ |
78 | #include <linux/if.h> /* for IFNAMSIZ and co... */ | 74 | #include <linux/if.h> /* for IFNAMSIZ and co... */ |
79 | #endif /* __KERNEL__ */ | ||
80 | 75 | ||
81 | /***************************** VERSION *****************************/ | 76 | /***************************** VERSION *****************************/ |
82 | /* | 77 | /* |
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 1f74bcd603fe..32742c4563de 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h | |||
@@ -30,13 +30,6 @@ | |||
30 | #endif | 30 | #endif |
31 | 31 | ||
32 | /* | 32 | /* |
33 | * SCSI command lengths | ||
34 | */ | ||
35 | |||
36 | extern const unsigned char scsi_command_size[8]; | ||
37 | #define COMMAND_SIZE(opcode) scsi_command_size[((opcode) >> 5) & 7] | ||
38 | |||
39 | /* | ||
40 | * Special value for scanning to specify scanning or rescanning of all | 33 | * Special value for scanning to specify scanning or rescanning of all |
41 | * possible channels, (target) ids, or luns on a given shost. | 34 | * possible channels, (target) ids, or luns on a given shost. |
42 | */ | 35 | */ |
@@ -109,6 +102,7 @@ extern const unsigned char scsi_command_size[8]; | |||
109 | #define MODE_SENSE_10 0x5a | 102 | #define MODE_SENSE_10 0x5a |
110 | #define PERSISTENT_RESERVE_IN 0x5e | 103 | #define PERSISTENT_RESERVE_IN 0x5e |
111 | #define PERSISTENT_RESERVE_OUT 0x5f | 104 | #define PERSISTENT_RESERVE_OUT 0x5f |
105 | #define VARIABLE_LENGTH_CMD 0x7f | ||
112 | #define REPORT_LUNS 0xa0 | 106 | #define REPORT_LUNS 0xa0 |
113 | #define MAINTENANCE_IN 0xa3 | 107 | #define MAINTENANCE_IN 0xa3 |
114 | #define MOVE_MEDIUM 0xa5 | 108 | #define MOVE_MEDIUM 0xa5 |
@@ -136,6 +130,38 @@ extern const unsigned char scsi_command_size[8]; | |||
136 | #define ATA_12 0xa1 /* 12-byte pass-thru */ | 130 | #define ATA_12 0xa1 /* 12-byte pass-thru */ |
137 | 131 | ||
138 | /* | 132 | /* |
133 | * SCSI command lengths | ||
134 | */ | ||
135 | |||
136 | #define SCSI_MAX_VARLEN_CDB_SIZE 260 | ||
137 | |||
138 | /* defined in T10 SCSI Primary Commands-2 (SPC2) */ | ||
139 | struct scsi_varlen_cdb_hdr { | ||
140 | u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */ | ||
141 | u8 control; | ||
142 | u8 misc[5]; | ||
143 | u8 additional_cdb_length; /* total cdb length - 8 */ | ||
144 | __be16 service_action; | ||
145 | /* service specific data follows */ | ||
146 | }; | ||
147 | |||
148 | static inline unsigned | ||
149 | scsi_varlen_cdb_length(const void *hdr) | ||
150 | { | ||
151 | return ((struct scsi_varlen_cdb_hdr *)hdr)->additional_cdb_length + 8; | ||
152 | } | ||
153 | |||
154 | extern const unsigned char scsi_command_size_tbl[8]; | ||
155 | #define COMMAND_SIZE(opcode) scsi_command_size_tbl[((opcode) >> 5) & 7] | ||
156 | |||
157 | static inline unsigned | ||
158 | scsi_command_size(const unsigned char *cmnd) | ||
159 | { | ||
160 | return (cmnd[0] == VARIABLE_LENGTH_CMD) ? | ||
161 | scsi_varlen_cdb_length(cmnd) : COMMAND_SIZE(cmnd[0]); | ||
162 | } | ||
163 | |||
164 | /* | ||
139 | * SCSI Architecture Model (SAM) Status codes. Taken from SAM-3 draft | 165 | * SCSI Architecture Model (SAM) Status codes. Taken from SAM-3 draft |
140 | * T10/1561-D Revision 4 Draft dated 7th November 2002. | 166 | * T10/1561-D Revision 4 Draft dated 7th November 2002. |
141 | */ | 167 | */ |
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 8d20e60a94b7..3e46dfae8194 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h | |||
@@ -7,10 +7,28 @@ | |||
7 | #include <linux/types.h> | 7 | #include <linux/types.h> |
8 | #include <linux/timer.h> | 8 | #include <linux/timer.h> |
9 | #include <linux/scatterlist.h> | 9 | #include <linux/scatterlist.h> |
10 | #include <linux/blkdev.h> | ||
10 | 11 | ||
11 | struct Scsi_Host; | 12 | struct Scsi_Host; |
12 | struct scsi_device; | 13 | struct scsi_device; |
13 | 14 | ||
15 | /* | ||
16 | * MAX_COMMAND_SIZE is: | ||
17 | * The longest fixed-length SCSI CDB as per the SCSI standard. | ||
18 | * fixed-length means: commands that their size can be determined | ||
19 | * by their opcode and the CDB does not carry a length specifier, (unlike | ||
20 | * the VARIABLE_LENGTH_CMD(0x7f) command). This is actually not exactly | ||
21 | * true and the SCSI standard also defines extended commands and | ||
22 | * vendor specific commands that can be bigger than 16 bytes. The kernel | ||
23 | * will support these using the same infrastructure used for VARLEN CDB's. | ||
24 | * So in effect MAX_COMMAND_SIZE means the maximum size command scsi-ml | ||
25 | * supports without specifying a cmd_len by ULD's | ||
26 | */ | ||
27 | #define MAX_COMMAND_SIZE 16 | ||
28 | #if (MAX_COMMAND_SIZE > BLK_MAX_CDB) | ||
29 | # error MAX_COMMAND_SIZE can not be bigger than BLK_MAX_CDB | ||
30 | #endif | ||
31 | |||
14 | struct scsi_data_buffer { | 32 | struct scsi_data_buffer { |
15 | struct sg_table table; | 33 | struct sg_table table; |
16 | unsigned length; | 34 | unsigned length; |
@@ -60,12 +78,11 @@ struct scsi_cmnd { | |||
60 | int allowed; | 78 | int allowed; |
61 | int timeout_per_command; | 79 | int timeout_per_command; |
62 | 80 | ||
63 | unsigned char cmd_len; | 81 | unsigned short cmd_len; |
64 | enum dma_data_direction sc_data_direction; | 82 | enum dma_data_direction sc_data_direction; |
65 | 83 | ||
66 | /* These elements define the operation we are about to perform */ | 84 | /* These elements define the operation we are about to perform */ |
67 | #define MAX_COMMAND_SIZE 16 | 85 | unsigned char *cmnd; |
68 | unsigned char cmnd[MAX_COMMAND_SIZE]; | ||
69 | 86 | ||
70 | struct timer_list eh_timeout; /* Used to time out the command. */ | 87 | struct timer_list eh_timeout; /* Used to time out the command. */ |
71 | 88 | ||
diff --git a/include/scsi/scsi_eh.h b/include/scsi/scsi_eh.h index d3a133b4a072..2a9add21267d 100644 --- a/include/scsi/scsi_eh.h +++ b/include/scsi/scsi_eh.h | |||
@@ -75,11 +75,11 @@ struct scsi_eh_save { | |||
75 | int result; | 75 | int result; |
76 | enum dma_data_direction data_direction; | 76 | enum dma_data_direction data_direction; |
77 | unsigned char cmd_len; | 77 | unsigned char cmd_len; |
78 | unsigned char cmnd[MAX_COMMAND_SIZE]; | 78 | unsigned char *cmnd; |
79 | struct scsi_data_buffer sdb; | 79 | struct scsi_data_buffer sdb; |
80 | struct request *next_rq; | 80 | struct request *next_rq; |
81 | |||
82 | /* new command support */ | 81 | /* new command support */ |
82 | unsigned char eh_cmnd[BLK_MAX_CDB]; | ||
83 | struct scatterlist sense_sgl; | 83 | struct scatterlist sense_sgl; |
84 | }; | 84 | }; |
85 | 85 | ||
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index d967d6dc7a28..1834fdfe82a7 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h | |||
@@ -573,13 +573,11 @@ struct Scsi_Host { | |||
573 | /* | 573 | /* |
574 | * The maximum length of SCSI commands that this host can accept. | 574 | * The maximum length of SCSI commands that this host can accept. |
575 | * Probably 12 for most host adapters, but could be 16 for others. | 575 | * Probably 12 for most host adapters, but could be 16 for others. |
576 | * or 260 if the driver supports variable length cdbs. | ||
576 | * For drivers that don't set this field, a value of 12 is | 577 | * For drivers that don't set this field, a value of 12 is |
577 | * assumed. I am leaving this as a number rather than a bit | 578 | * assumed. |
578 | * because you never know what subsequent SCSI standards might do | ||
579 | * (i.e. could there be a 20 byte or a 24-byte command a few years | ||
580 | * down the road?). | ||
581 | */ | 579 | */ |
582 | unsigned char max_cmd_len; | 580 | unsigned short max_cmd_len; |
583 | 581 | ||
584 | int this_id; | 582 | int this_id; |
585 | int can_queue; | 583 | int can_queue; |