diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 12:59:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 12:59:14 -0400 |
commit | 244dc4e54b73567fae7f8fd9ba56584be9375442 (patch) | |
tree | c7b47b122fde55c92f7f32797aef1e3e1c7030d1 | |
parent | e7f2f9918c0e97aa98ba147ca387e2c7238f0711 (diff) | |
parent | e758936e02700ff88a0b08b722a3847b95283ef2 (diff) |
Merge git://git.infradead.org/users/dwmw2/random-2.6
* git://git.infradead.org/users/dwmw2/random-2.6:
Fix autoloading of MacBook Pro backlight driver.
Automatic MODULE_ALIAS() for DMI match tables.
Remove asm/a.out.h files for all architectures without a.out support.
Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT
Remove redundant CONFIG_ARCH_SUPPORTS_AOUT
S390: Update comments about why we don't use <asm-generic/statfs.h>
SPARC: Use <asm-generic/statfs.h>
PowerPC: Use <asm-generic/statfs.h>
PARISC: Use <asm-generic/statfs.h>
x86_64: Use <asm-generic/statfs.h>
IA64: Use <asm-generic/statfs.h>
ARM: Use <asm-generic/statfs.h>
Make <asm-generic/statfs.h> suitable for 64-bit platforms.
Define and use PCI_DEVICE_ID_MARVELL_88ALP01_CCIC for CAFÉ camera driver
[MTD] [NAND] Define and use PCI_DEVICE_ID_MARVELL_88ALP01_NAND for CAFÉ
Use PCI_DEVICE_ID_88ALP01 for CAFÉ chip, rather than PCI_DEVICE_ID_CAFE.
EFS: Don't set f_fsid in statfs().
57 files changed, 204 insertions, 683 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index 1bec55d63ef6..ee35226c44e9 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
@@ -5,6 +5,7 @@ | |||
5 | config ALPHA | 5 | config ALPHA |
6 | bool | 6 | bool |
7 | default y | 7 | default y |
8 | select HAVE_AOUT | ||
8 | select HAVE_IDE | 9 | select HAVE_IDE |
9 | select HAVE_OPROFILE | 10 | select HAVE_OPROFILE |
10 | help | 11 | help |
@@ -68,9 +69,6 @@ config AUTO_IRQ_AFFINITY | |||
68 | depends on SMP | 69 | depends on SMP |
69 | default y | 70 | default y |
70 | 71 | ||
71 | config ARCH_SUPPORTS_AOUT | ||
72 | def_bool y | ||
73 | |||
74 | source "init/Kconfig" | 72 | source "init/Kconfig" |
75 | 73 | ||
76 | 74 | ||
diff --git a/arch/alpha/include/asm/statfs.h b/arch/alpha/include/asm/statfs.h index ad15830baefe..de35cd438a10 100644 --- a/arch/alpha/include/asm/statfs.h +++ b/arch/alpha/include/asm/statfs.h | |||
@@ -1,6 +1,10 @@ | |||
1 | #ifndef _ALPHA_STATFS_H | 1 | #ifndef _ALPHA_STATFS_H |
2 | #define _ALPHA_STATFS_H | 2 | #define _ALPHA_STATFS_H |
3 | 3 | ||
4 | /* Alpha is the only 64-bit platform with 32-bit statfs. And doesn't | ||
5 | even seem to implement statfs64 */ | ||
6 | #define __statfs_word __u32 | ||
7 | |||
4 | #include <asm-generic/statfs.h> | 8 | #include <asm-generic/statfs.h> |
5 | 9 | ||
6 | #endif | 10 | #endif |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index efeed65b4a66..4853f9df37bd 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -8,6 +8,7 @@ mainmenu "Linux Kernel Configuration" | |||
8 | config ARM | 8 | config ARM |
9 | bool | 9 | bool |
10 | default y | 10 | default y |
11 | select HAVE_AOUT | ||
11 | select HAVE_IDE | 12 | select HAVE_IDE |
12 | select RTC_LIB | 13 | select RTC_LIB |
13 | select SYS_SUPPORTS_APM_EMULATION | 14 | select SYS_SUPPORTS_APM_EMULATION |
@@ -140,9 +141,6 @@ config GENERIC_CALIBRATE_DELAY | |||
140 | bool | 141 | bool |
141 | default y | 142 | default y |
142 | 143 | ||
143 | config ARCH_SUPPORTS_AOUT | ||
144 | def_bool y | ||
145 | |||
146 | config ARCH_MAY_HAVE_PC_FDC | 144 | config ARCH_MAY_HAVE_PC_FDC |
147 | bool | 145 | bool |
148 | 146 | ||
diff --git a/arch/arm/include/asm/statfs.h b/arch/arm/include/asm/statfs.h index a02e6a8c3d70..079447c05ba7 100644 --- a/arch/arm/include/asm/statfs.h +++ b/arch/arm/include/asm/statfs.h | |||
@@ -1,42 +1,12 @@ | |||
1 | #ifndef _ASMARM_STATFS_H | 1 | #ifndef _ASMARM_STATFS_H |
2 | #define _ASMARM_STATFS_H | 2 | #define _ASMARM_STATFS_H |
3 | 3 | ||
4 | #ifndef __KERNEL_STRICT_NAMES | ||
5 | # include <linux/types.h> | ||
6 | typedef __kernel_fsid_t fsid_t; | ||
7 | #endif | ||
8 | |||
9 | struct statfs { | ||
10 | __u32 f_type; | ||
11 | __u32 f_bsize; | ||
12 | __u32 f_blocks; | ||
13 | __u32 f_bfree; | ||
14 | __u32 f_bavail; | ||
15 | __u32 f_files; | ||
16 | __u32 f_ffree; | ||
17 | __kernel_fsid_t f_fsid; | ||
18 | __u32 f_namelen; | ||
19 | __u32 f_frsize; | ||
20 | __u32 f_spare[5]; | ||
21 | }; | ||
22 | |||
23 | /* | 4 | /* |
24 | * With EABI there is 4 bytes of padding added to this structure. | 5 | * With EABI there is 4 bytes of padding added to this structure. |
25 | * Let's pack it so the padding goes away to simplify dual ABI support. | 6 | * Let's pack it so the padding goes away to simplify dual ABI support. |
26 | * Note that user space does NOT have to pack this structure. | 7 | * Note that user space does NOT have to pack this structure. |
27 | */ | 8 | */ |
28 | struct statfs64 { | 9 | #define ARCH_PACK_STATFS64 __attribute__((packed,aligned(4))) |
29 | __u32 f_type; | ||
30 | __u32 f_bsize; | ||
31 | __u64 f_blocks; | ||
32 | __u64 f_bfree; | ||
33 | __u64 f_bavail; | ||
34 | __u64 f_files; | ||
35 | __u64 f_ffree; | ||
36 | __kernel_fsid_t f_fsid; | ||
37 | __u32 f_namelen; | ||
38 | __u32 f_frsize; | ||
39 | __u32 f_spare[5]; | ||
40 | } __attribute__ ((packed,aligned(4))); | ||
41 | 10 | ||
11 | #include <asm-generic/statfs.h> | ||
42 | #endif | 12 | #endif |
diff --git a/arch/avr32/include/asm/a.out.h b/arch/avr32/include/asm/a.out.h deleted file mode 100644 index e46375a34a72..000000000000 --- a/arch/avr32/include/asm/a.out.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #ifndef __ASM_AVR32_A_OUT_H | ||
2 | #define __ASM_AVR32_A_OUT_H | ||
3 | |||
4 | struct exec | ||
5 | { | ||
6 | unsigned long a_info; /* Use macros N_MAGIC, etc for access */ | ||
7 | unsigned a_text; /* length of text, in bytes */ | ||
8 | unsigned a_data; /* length of data, in bytes */ | ||
9 | unsigned a_bss; /* length of uninitialized data area for file, in bytes */ | ||
10 | unsigned a_syms; /* length of symbol table data in file, in bytes */ | ||
11 | unsigned a_entry; /* start address */ | ||
12 | unsigned a_trsize; /* length of relocation info for text, in bytes */ | ||
13 | unsigned a_drsize; /* length of relocation info for data, in bytes */ | ||
14 | }; | ||
15 | |||
16 | #define N_TRSIZE(a) ((a).a_trsize) | ||
17 | #define N_DRSIZE(a) ((a).a_drsize) | ||
18 | #define N_SYMSIZE(a) ((a).a_syms) | ||
19 | |||
20 | #endif /* __ASM_AVR32_A_OUT_H */ | ||
diff --git a/arch/blackfin/include/asm/a.out.h b/arch/blackfin/include/asm/a.out.h deleted file mode 100644 index 6c3d652ebd33..000000000000 --- a/arch/blackfin/include/asm/a.out.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | #ifndef __BFIN_A_OUT_H__ | ||
2 | #define __BFIN_A_OUT_H__ | ||
3 | |||
4 | struct exec { | ||
5 | unsigned long a_info; /* Use macros N_MAGIC, etc for access */ | ||
6 | unsigned a_text; /* length of text, in bytes */ | ||
7 | unsigned a_data; /* length of data, in bytes */ | ||
8 | unsigned a_bss; /* length of uninitialized data area for file, in bytes */ | ||
9 | unsigned a_syms; /* length of symbol table data in file, in bytes */ | ||
10 | unsigned a_entry; /* start address */ | ||
11 | unsigned a_trsize; /* length of relocation info for text, in bytes */ | ||
12 | unsigned a_drsize; /* length of relocation info for data, in bytes */ | ||
13 | }; | ||
14 | |||
15 | #define N_TRSIZE(a) ((a).a_trsize) | ||
16 | #define N_DRSIZE(a) ((a).a_drsize) | ||
17 | #define N_SYMSIZE(a) ((a).a_syms) | ||
18 | |||
19 | #endif /* __BFIN_A_OUT_H__ */ | ||
diff --git a/arch/cris/arch-v10/boot/tools/build.c b/arch/cris/arch-v10/boot/tools/build.c index 2f9bbb26d603..c8adef364160 100644 --- a/arch/cris/arch-v10/boot/tools/build.c +++ b/arch/cris/arch-v10/boot/tools/build.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <sys/sysmacros.h> | 30 | #include <sys/sysmacros.h> |
31 | #include <unistd.h> /* contains read/write */ | 31 | #include <unistd.h> /* contains read/write */ |
32 | #include <fcntl.h> | 32 | #include <fcntl.h> |
33 | #include <linux/a.out.h> | ||
34 | #include <errno.h> | 33 | #include <errno.h> |
35 | 34 | ||
36 | #define MINIX_HEADER 32 | 35 | #define MINIX_HEADER 32 |
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 396ab059efa3..107cb5bb9f39 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig | |||
@@ -66,9 +66,6 @@ config TIME_LOW_RES | |||
66 | bool | 66 | bool |
67 | default y | 67 | default y |
68 | 68 | ||
69 | config ARCH_SUPPORTS_AOUT | ||
70 | def_bool y | ||
71 | |||
72 | config NO_IOPORT | 69 | config NO_IOPORT |
73 | def_bool y | 70 | def_bool y |
74 | 71 | ||
diff --git a/arch/h8300/include/asm/a.out.h b/arch/h8300/include/asm/a.out.h deleted file mode 100644 index ded780f0a492..000000000000 --- a/arch/h8300/include/asm/a.out.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #ifndef __H8300_A_OUT_H__ | ||
2 | #define __H8300_A_OUT_H__ | ||
3 | |||
4 | struct exec | ||
5 | { | ||
6 | unsigned long a_info; /* Use macros N_MAGIC, etc for access */ | ||
7 | unsigned a_text; /* length of text, in bytes */ | ||
8 | unsigned a_data; /* length of data, in bytes */ | ||
9 | unsigned a_bss; /* length of uninitialized data area for file, in bytes */ | ||
10 | unsigned a_syms; /* length of symbol table data in file, in bytes */ | ||
11 | unsigned a_entry; /* start address */ | ||
12 | unsigned a_trsize; /* length of relocation info for text, in bytes */ | ||
13 | unsigned a_drsize; /* length of relocation info for data, in bytes */ | ||
14 | }; | ||
15 | |||
16 | #define N_TRSIZE(a) ((a).a_trsize) | ||
17 | #define N_DRSIZE(a) ((a).a_drsize) | ||
18 | #define N_SYMSIZE(a) ((a).a_syms) | ||
19 | |||
20 | #endif /* __H8300_A_OUT_H__ */ | ||
diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c index dfbe7ab9ffe2..a8ef654a5a0b 100644 --- a/arch/h8300/kernel/process.c +++ b/arch/h8300/kernel/process.c | |||
@@ -34,7 +34,6 @@ | |||
34 | #include <linux/ptrace.h> | 34 | #include <linux/ptrace.h> |
35 | #include <linux/slab.h> | 35 | #include <linux/slab.h> |
36 | #include <linux/user.h> | 36 | #include <linux/user.h> |
37 | #include <linux/a.out.h> | ||
38 | #include <linux/interrupt.h> | 37 | #include <linux/interrupt.h> |
39 | #include <linux/reboot.h> | 38 | #include <linux/reboot.h> |
40 | #include <linux/fs.h> | 39 | #include <linux/fs.h> |
diff --git a/arch/ia64/include/asm/a.out.h b/arch/ia64/include/asm/a.out.h deleted file mode 100644 index 193dcfb67596..000000000000 --- a/arch/ia64/include/asm/a.out.h +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | #ifndef _ASM_IA64_A_OUT_H | ||
2 | #define _ASM_IA64_A_OUT_H | ||
3 | |||
4 | /* | ||
5 | * No a.out format has been (or should be) defined so this file is | ||
6 | * just a dummy that allows us to get binfmt_elf compiled. It | ||
7 | * probably would be better to clean up binfmt_elf.c so it does not | ||
8 | * necessarily depend on there being a.out support. | ||
9 | * | ||
10 | * Modified 1998-2002 | ||
11 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co. | ||
12 | */ | ||
13 | |||
14 | #include <linux/types.h> | ||
15 | |||
16 | struct exec { | ||
17 | unsigned long a_info; | ||
18 | unsigned long a_text; | ||
19 | unsigned long a_data; | ||
20 | unsigned long a_bss; | ||
21 | unsigned long a_entry; | ||
22 | }; | ||
23 | |||
24 | #define N_TXTADDR(x) 0 | ||
25 | #define N_DATADDR(x) 0 | ||
26 | #define N_BSSADDR(x) 0 | ||
27 | #define N_DRSIZE(x) 0 | ||
28 | #define N_TRSIZE(x) 0 | ||
29 | #define N_SYMSIZE(x) 0 | ||
30 | #define N_TXTOFF(x) 0 | ||
31 | |||
32 | #endif /* _ASM_IA64_A_OUT_H */ | ||
diff --git a/arch/ia64/include/asm/statfs.h b/arch/ia64/include/asm/statfs.h index 811097974f31..1e589669de56 100644 --- a/arch/ia64/include/asm/statfs.h +++ b/arch/ia64/include/asm/statfs.h | |||
@@ -8,55 +8,13 @@ | |||
8 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co | 8 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #ifndef __KERNEL_STRICT_NAMES | ||
12 | # include <linux/types.h> | ||
13 | typedef __kernel_fsid_t fsid_t; | ||
14 | #endif | ||
15 | |||
16 | /* | 11 | /* |
17 | * This is ugly --- we're already 64-bit, so just duplicate the definitions | 12 | * We need compat_statfs64 to be packed, because the i386 ABI won't |
13 | * add padding at the end to bring it to a multiple of 8 bytes, but | ||
14 | * the IA64 ABI will. | ||
18 | */ | 15 | */ |
19 | struct statfs { | 16 | #define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4))) |
20 | long f_type; | ||
21 | long f_bsize; | ||
22 | long f_blocks; | ||
23 | long f_bfree; | ||
24 | long f_bavail; | ||
25 | long f_files; | ||
26 | long f_ffree; | ||
27 | __kernel_fsid_t f_fsid; | ||
28 | long f_namelen; | ||
29 | long f_frsize; | ||
30 | long f_spare[5]; | ||
31 | }; | ||
32 | |||
33 | |||
34 | struct statfs64 { | ||
35 | long f_type; | ||
36 | long f_bsize; | ||
37 | long f_blocks; | ||
38 | long f_bfree; | ||
39 | long f_bavail; | ||
40 | long f_files; | ||
41 | long f_ffree; | ||
42 | __kernel_fsid_t f_fsid; | ||
43 | long f_namelen; | ||
44 | long f_frsize; | ||
45 | long f_spare[5]; | ||
46 | }; | ||
47 | 17 | ||
48 | struct compat_statfs64 { | 18 | #include <asm-generic/statfs.h> |
49 | __u32 f_type; | ||
50 | __u32 f_bsize; | ||
51 | __u64 f_blocks; | ||
52 | __u64 f_bfree; | ||
53 | __u64 f_bavail; | ||
54 | __u64 f_files; | ||
55 | __u64 f_ffree; | ||
56 | __kernel_fsid_t f_fsid; | ||
57 | __u32 f_namelen; | ||
58 | __u32 f_frsize; | ||
59 | __u32 f_spare[5]; | ||
60 | } __attribute__((packed)); | ||
61 | 19 | ||
62 | #endif /* _ASM_IA64_STATFS_H */ | 20 | #endif /* _ASM_IA64_STATFS_H */ |
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 200100ea7610..f482a9098e32 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/bitops.h> | 21 | #include <linux/bitops.h> |
22 | #include <linux/kexec.h> | 22 | #include <linux/kexec.h> |
23 | 23 | ||
24 | #include <asm/a.out.h> | ||
25 | #include <asm/dma.h> | 24 | #include <asm/dma.h> |
26 | #include <asm/ia32.h> | 25 | #include <asm/ia32.h> |
27 | #include <asm/io.h> | 26 | #include <asm/io.h> |
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index f57113f1f892..00289c178f89 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig | |||
@@ -36,9 +36,6 @@ config NO_IOPORT | |||
36 | config NO_DMA | 36 | config NO_DMA |
37 | def_bool y | 37 | def_bool y |
38 | 38 | ||
39 | config ARCH_SUPPORTS_AOUT | ||
40 | def_bool y | ||
41 | |||
42 | config HZ | 39 | config HZ |
43 | int | 40 | int |
44 | default 100 | 41 | default 100 |
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 8c5e1de68fcb..41e5bf02e230 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
@@ -5,6 +5,7 @@ | |||
5 | config M68K | 5 | config M68K |
6 | bool | 6 | bool |
7 | default y | 7 | default y |
8 | select HAVE_AOUT | ||
8 | select HAVE_IDE | 9 | select HAVE_IDE |
9 | 10 | ||
10 | config MMU | 11 | config MMU |
@@ -53,9 +54,6 @@ config NO_IOPORT | |||
53 | config NO_DMA | 54 | config NO_DMA |
54 | def_bool SUN3 | 55 | def_bool SUN3 |
55 | 56 | ||
56 | config ARCH_SUPPORTS_AOUT | ||
57 | def_bool y | ||
58 | |||
59 | config HZ | 57 | config HZ |
60 | int | 58 | int |
61 | default 100 | 59 | default 100 |
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index 2e7515e8db98..0a8998315e5e 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig | |||
@@ -73,9 +73,6 @@ config GENERIC_CLOCKEVENTS | |||
73 | config NO_IOPORT | 73 | config NO_IOPORT |
74 | def_bool y | 74 | def_bool y |
75 | 75 | ||
76 | config ARCH_SUPPORTS_AOUT | ||
77 | def_bool y | ||
78 | |||
79 | source "init/Kconfig" | 76 | source "init/Kconfig" |
80 | 77 | ||
81 | menu "Processor type and features" | 78 | menu "Processor type and features" |
diff --git a/arch/m68knommu/include/asm/a.out.h b/arch/m68knommu/include/asm/a.out.h deleted file mode 100644 index ce18ef99de04..000000000000 --- a/arch/m68knommu/include/asm/a.out.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-m68k/a.out.h> | ||
diff --git a/arch/m68knommu/kernel/process.c b/arch/m68knommu/kernel/process.c index 47502d5ec19f..3f2d7745f31e 100644 --- a/arch/m68knommu/kernel/process.c +++ b/arch/m68knommu/kernel/process.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/ptrace.h> | 25 | #include <linux/ptrace.h> |
26 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
27 | #include <linux/user.h> | 27 | #include <linux/user.h> |
28 | #include <linux/a.out.h> | ||
29 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
30 | #include <linux/reboot.h> | 29 | #include <linux/reboot.h> |
31 | #include <linux/fs.h> | 30 | #include <linux/fs.h> |
diff --git a/arch/m68knommu/kernel/traps.c b/arch/m68knommu/kernel/traps.c index 46f8f9d0c408..5d5d56bcd0ef 100644 --- a/arch/m68knommu/kernel/traps.c +++ b/arch/m68knommu/kernel/traps.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/mm.h> | 22 | #include <linux/mm.h> |
23 | #include <linux/module.h> | 23 | #include <linux/module.h> |
24 | #include <linux/types.h> | 24 | #include <linux/types.h> |
25 | #include <linux/a.out.h> | ||
26 | #include <linux/user.h> | 25 | #include <linux/user.h> |
27 | #include <linux/string.h> | 26 | #include <linux/string.h> |
28 | #include <linux/linkage.h> | 27 | #include <linux/linkage.h> |
diff --git a/arch/mips/include/asm/a.out.h b/arch/mips/include/asm/a.out.h deleted file mode 100644 index cad8371422ab..000000000000 --- a/arch/mips/include/asm/a.out.h +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1994 - 1999, 2003 by Ralf Baechle | ||
7 | */ | ||
8 | #ifndef _ASM_A_OUT_H | ||
9 | #define _ASM_A_OUT_H | ||
10 | |||
11 | #ifdef __KERNEL__ | ||
12 | |||
13 | |||
14 | #endif | ||
15 | |||
16 | struct exec | ||
17 | { | ||
18 | unsigned long a_info; /* Use macros N_MAGIC, etc for access */ | ||
19 | unsigned a_text; /* length of text, in bytes */ | ||
20 | unsigned a_data; /* length of data, in bytes */ | ||
21 | unsigned a_bss; /* length of uninitialized data area for | ||
22 | file, in bytes */ | ||
23 | unsigned a_syms; /* length of symbol table data in file, | ||
24 | in bytes */ | ||
25 | unsigned a_entry; /* start address */ | ||
26 | unsigned a_trsize; /* length of relocation info for text, in | ||
27 | bytes */ | ||
28 | unsigned a_drsize; /* length of relocation info for data, in bytes */ | ||
29 | }; | ||
30 | |||
31 | #define N_TRSIZE(a) ((a).a_trsize) | ||
32 | #define N_DRSIZE(a) ((a).a_drsize) | ||
33 | #define N_SYMSIZE(a) ((a).a_syms) | ||
34 | |||
35 | #endif /* _ASM_A_OUT_H */ | ||
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 22fc19bbe87f..ca2e4026ad20 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/personality.h> | 22 | #include <linux/personality.h> |
23 | #include <linux/sys.h> | 23 | #include <linux/sys.h> |
24 | #include <linux/user.h> | 24 | #include <linux/user.h> |
25 | #include <linux/a.out.h> | ||
26 | #include <linux/init.h> | 25 | #include <linux/init.h> |
27 | #include <linux/completion.h> | 26 | #include <linux/completion.h> |
28 | #include <linux/kallsyms.h> | 27 | #include <linux/kallsyms.h> |
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index 343015a2f418..37970d9b2186 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c | |||
@@ -7,7 +7,6 @@ | |||
7 | * Copyright (C) 1999, 2000 Silicon Graphics, Inc. | 7 | * Copyright (C) 1999, 2000 Silicon Graphics, Inc. |
8 | * Copyright (C) 2001 MIPS Technologies, Inc. | 8 | * Copyright (C) 2001 MIPS Technologies, Inc. |
9 | */ | 9 | */ |
10 | #include <linux/a.out.h> | ||
11 | #include <linux/capability.h> | 10 | #include <linux/capability.h> |
12 | #include <linux/errno.h> | 11 | #include <linux/errno.h> |
13 | #include <linux/linkage.h> | 12 | #include <linux/linkage.h> |
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig index e856218da90d..dd557c9cf001 100644 --- a/arch/mn10300/Kconfig +++ b/arch/mn10300/Kconfig | |||
@@ -53,9 +53,6 @@ config QUICKLIST | |||
53 | config ARCH_HAS_ILOG2_U32 | 53 | config ARCH_HAS_ILOG2_U32 |
54 | def_bool y | 54 | def_bool y |
55 | 55 | ||
56 | config ARCH_SUPPORTS_AOUT | ||
57 | def_bool n | ||
58 | |||
59 | # Use the generic interrupt handling code in kernel/irq/ | 56 | # Use the generic interrupt handling code in kernel/irq/ |
60 | config GENERIC_HARDIRQS | 57 | config GENERIC_HARDIRQS |
61 | def_bool y | 58 | def_bool y |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index a7d4fd353c2b..8313fccced5e 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -76,9 +76,6 @@ config IRQ_PER_CPU | |||
76 | bool | 76 | bool |
77 | default y | 77 | default y |
78 | 78 | ||
79 | config ARCH_SUPPORTS_AOUT | ||
80 | def_bool y | ||
81 | |||
82 | # unless you want to implement ACPI on PA-RISC ... ;-) | 79 | # unless you want to implement ACPI on PA-RISC ... ;-) |
83 | config PM | 80 | config PM |
84 | bool | 81 | bool |
diff --git a/arch/powerpc/include/asm/a.out.h b/arch/powerpc/include/asm/a.out.h deleted file mode 100644 index 89cead6b176e..000000000000 --- a/arch/powerpc/include/asm/a.out.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #ifndef _ASM_POWERPC_A_OUT_H | ||
2 | #define _ASM_POWERPC_A_OUT_H | ||
3 | |||
4 | struct exec | ||
5 | { | ||
6 | unsigned long a_info; /* Use macros N_MAGIC, etc for access */ | ||
7 | unsigned a_text; /* length of text, in bytes */ | ||
8 | unsigned a_data; /* length of data, in bytes */ | ||
9 | unsigned a_bss; /* length of uninitialized data area for file, in bytes */ | ||
10 | unsigned a_syms; /* length of symbol table data in file, in bytes */ | ||
11 | unsigned a_entry; /* start address */ | ||
12 | unsigned a_trsize; /* length of relocation info for text, in bytes */ | ||
13 | unsigned a_drsize; /* length of relocation info for data, in bytes */ | ||
14 | }; | ||
15 | |||
16 | #define N_TRSIZE(a) ((a).a_trsize) | ||
17 | #define N_DRSIZE(a) ((a).a_drsize) | ||
18 | #define N_SYMSIZE(a) ((a).a_syms) | ||
19 | |||
20 | #endif /* _ASM_POWERPC_A_OUT_H */ | ||
diff --git a/arch/powerpc/include/asm/statfs.h b/arch/powerpc/include/asm/statfs.h index 67024026c10d..5244834583a4 100644 --- a/arch/powerpc/include/asm/statfs.h +++ b/arch/powerpc/include/asm/statfs.h | |||
@@ -1,60 +1,6 @@ | |||
1 | #ifndef _ASM_POWERPC_STATFS_H | 1 | #ifndef _ASM_POWERPC_STATFS_H |
2 | #define _ASM_POWERPC_STATFS_H | 2 | #define _ASM_POWERPC_STATFS_H |
3 | 3 | ||
4 | /* For ppc32 we just use the generic definitions, not so simple on ppc64 */ | ||
5 | |||
6 | #ifndef __powerpc64__ | ||
7 | #include <asm-generic/statfs.h> | 4 | #include <asm-generic/statfs.h> |
8 | #else | ||
9 | |||
10 | #ifndef __KERNEL_STRICT_NAMES | ||
11 | #include <linux/types.h> | ||
12 | typedef __kernel_fsid_t fsid_t; | ||
13 | #endif | ||
14 | |||
15 | /* | ||
16 | * We're already 64-bit, so duplicate the definition | ||
17 | */ | ||
18 | struct statfs { | ||
19 | long f_type; | ||
20 | long f_bsize; | ||
21 | long f_blocks; | ||
22 | long f_bfree; | ||
23 | long f_bavail; | ||
24 | long f_files; | ||
25 | long f_ffree; | ||
26 | __kernel_fsid_t f_fsid; | ||
27 | long f_namelen; | ||
28 | long f_frsize; | ||
29 | long f_spare[5]; | ||
30 | }; | ||
31 | |||
32 | struct statfs64 { | ||
33 | long f_type; | ||
34 | long f_bsize; | ||
35 | long f_blocks; | ||
36 | long f_bfree; | ||
37 | long f_bavail; | ||
38 | long f_files; | ||
39 | long f_ffree; | ||
40 | __kernel_fsid_t f_fsid; | ||
41 | long f_namelen; | ||
42 | long f_frsize; | ||
43 | long f_spare[5]; | ||
44 | }; | ||
45 | 5 | ||
46 | struct compat_statfs64 { | ||
47 | __u32 f_type; | ||
48 | __u32 f_bsize; | ||
49 | __u64 f_blocks; | ||
50 | __u64 f_bfree; | ||
51 | __u64 f_bavail; | ||
52 | __u64 f_files; | ||
53 | __u64 f_ffree; | ||
54 | __kernel_fsid_t f_fsid; | ||
55 | __u32 f_namelen; | ||
56 | __u32 f_frsize; | ||
57 | __u32 f_spare[5]; | ||
58 | }; | ||
59 | #endif /* ! __powerpc64__ */ | ||
60 | #endif | 6 | #endif |
diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c index c906c4bf6835..23c8c5e7dc4d 100644 --- a/arch/powerpc/kernel/softemu8xx.c +++ b/arch/powerpc/kernel/softemu8xx.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
24 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
25 | #include <linux/user.h> | 25 | #include <linux/user.h> |
26 | #include <linux/a.out.h> | ||
27 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
28 | 27 | ||
29 | #include <asm/pgtable.h> | 28 | #include <asm/pgtable.h> |
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 81ccb8dd1a54..f5def6cf5cd6 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
24 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
25 | #include <linux/user.h> | 25 | #include <linux/user.h> |
26 | #include <linux/a.out.h> | ||
27 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
28 | #include <linux/init.h> | 27 | #include <linux/init.h> |
29 | #include <linux/module.h> | 28 | #include <linux/module.h> |
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c index 1ba7ce5aafae..272d79a8d289 100644 --- a/arch/powerpc/platforms/chrp/setup.c +++ b/arch/powerpc/platforms/chrp/setup.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/ptrace.h> | 17 | #include <linux/ptrace.h> |
18 | #include <linux/slab.h> | 18 | #include <linux/slab.h> |
19 | #include <linux/user.h> | 19 | #include <linux/user.h> |
20 | #include <linux/a.out.h> | ||
21 | #include <linux/tty.h> | 20 | #include <linux/tty.h> |
22 | #include <linux/major.h> | 21 | #include <linux/major.h> |
23 | #include <linux/interrupt.h> | 22 | #include <linux/interrupt.h> |
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c index 364714757cf1..d4c61c3c9669 100644 --- a/arch/powerpc/platforms/maple/setup.c +++ b/arch/powerpc/platforms/maple/setup.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
24 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
25 | #include <linux/user.h> | 25 | #include <linux/user.h> |
26 | #include <linux/a.out.h> | ||
27 | #include <linux/tty.h> | 26 | #include <linux/tty.h> |
28 | #include <linux/string.h> | 27 | #include <linux/string.h> |
29 | #include <linux/delay.h> | 28 | #include <linux/delay.h> |
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c index 88ccf3a08a9c..82c14d203d8b 100644 --- a/arch/powerpc/platforms/powermac/setup.c +++ b/arch/powerpc/platforms/powermac/setup.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include <linux/ptrace.h> | 33 | #include <linux/ptrace.h> |
34 | #include <linux/slab.h> | 34 | #include <linux/slab.h> |
35 | #include <linux/user.h> | 35 | #include <linux/user.h> |
36 | #include <linux/a.out.h> | ||
37 | #include <linux/tty.h> | 36 | #include <linux/tty.h> |
38 | #include <linux/string.h> | 37 | #include <linux/string.h> |
39 | #include <linux/delay.h> | 38 | #include <linux/delay.h> |
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index 7b01d67b4e48..ec341707e41b 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/unistd.h> | 25 | #include <linux/unistd.h> |
26 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
27 | #include <linux/user.h> | 27 | #include <linux/user.h> |
28 | #include <linux/a.out.h> | ||
29 | #include <linux/tty.h> | 28 | #include <linux/tty.h> |
30 | #include <linux/major.h> | 29 | #include <linux/major.h> |
31 | #include <linux/interrupt.h> | 30 | #include <linux/interrupt.h> |
diff --git a/arch/s390/include/asm/statfs.h b/arch/s390/include/asm/statfs.h index 099a45579190..06cc70307ece 100644 --- a/arch/s390/include/asm/statfs.h +++ b/arch/s390/include/asm/statfs.h | |||
@@ -12,19 +12,16 @@ | |||
12 | #ifndef __s390x__ | 12 | #ifndef __s390x__ |
13 | #include <asm-generic/statfs.h> | 13 | #include <asm-generic/statfs.h> |
14 | #else | 14 | #else |
15 | /* | ||
16 | * We can't use <asm-generic/statfs.h> because in 64-bit mode | ||
17 | * we mix ints of different sizes in our struct statfs. | ||
18 | */ | ||
15 | 19 | ||
16 | #ifndef __KERNEL_STRICT_NAMES | 20 | #ifndef __KERNEL_STRICT_NAMES |
17 | |||
18 | #include <linux/types.h> | 21 | #include <linux/types.h> |
19 | |||
20 | typedef __kernel_fsid_t fsid_t; | 22 | typedef __kernel_fsid_t fsid_t; |
21 | |||
22 | #endif | 23 | #endif |
23 | 24 | ||
24 | /* | ||
25 | * This is ugly -- we're already 64-bit clean, so just duplicate the | ||
26 | * definitions. | ||
27 | */ | ||
28 | struct statfs { | 25 | struct statfs { |
29 | int f_type; | 26 | int f_type; |
30 | int f_bsize; | 27 | int f_bsize; |
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild index 2ba7183bc1f0..2d2769d766ec 100644 --- a/arch/sparc/include/asm/Kbuild +++ b/arch/sparc/include/asm/Kbuild | |||
@@ -15,8 +15,6 @@ header-y += signal_32.h | |||
15 | header-y += signal_64.h | 15 | header-y += signal_64.h |
16 | header-y += stat_32.h | 16 | header-y += stat_32.h |
17 | header-y += stat_64.h | 17 | header-y += stat_64.h |
18 | header-y += statfs_32.h | ||
19 | header-y += statfs_64.h | ||
20 | header-y += unistd_32.h | 18 | header-y += unistd_32.h |
21 | header-y += unistd_64.h | 19 | header-y += unistd_64.h |
22 | 20 | ||
diff --git a/arch/sparc/include/asm/statfs.h b/arch/sparc/include/asm/statfs.h index 5e937a73743d..55e607ad461d 100644 --- a/arch/sparc/include/asm/statfs.h +++ b/arch/sparc/include/asm/statfs.h | |||
@@ -1,8 +1,6 @@ | |||
1 | #ifndef ___ASM_SPARC_STATFS_H | 1 | #ifndef ___ASM_SPARC_STATFS_H |
2 | #define ___ASM_SPARC_STATFS_H | 2 | #define ___ASM_SPARC_STATFS_H |
3 | #if defined(__sparc__) && defined(__arch64__) | 3 | |
4 | #include <asm/statfs_64.h> | 4 | #include <asm-generic/statfs.h> |
5 | #else | 5 | |
6 | #include <asm/statfs_32.h> | ||
7 | #endif | ||
8 | #endif | 6 | #endif |
diff --git a/arch/sparc/include/asm/statfs_32.h b/arch/sparc/include/asm/statfs_32.h deleted file mode 100644 index 304520fa8863..000000000000 --- a/arch/sparc/include/asm/statfs_32.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef _SPARC_STATFS_H | ||
2 | #define _SPARC_STATFS_H | ||
3 | |||
4 | #include <asm-generic/statfs.h> | ||
5 | |||
6 | #endif | ||
diff --git a/arch/sparc/include/asm/statfs_64.h b/arch/sparc/include/asm/statfs_64.h deleted file mode 100644 index 79b3c890a5fa..000000000000 --- a/arch/sparc/include/asm/statfs_64.h +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | #ifndef _SPARC64_STATFS_H | ||
2 | #define _SPARC64_STATFS_H | ||
3 | |||
4 | #ifndef __KERNEL_STRICT_NAMES | ||
5 | |||
6 | #include <linux/types.h> | ||
7 | |||
8 | typedef __kernel_fsid_t fsid_t; | ||
9 | |||
10 | #endif | ||
11 | |||
12 | struct statfs { | ||
13 | long f_type; | ||
14 | long f_bsize; | ||
15 | long f_blocks; | ||
16 | long f_bfree; | ||
17 | long f_bavail; | ||
18 | long f_files; | ||
19 | long f_ffree; | ||
20 | __kernel_fsid_t f_fsid; | ||
21 | long f_namelen; | ||
22 | long f_frsize; | ||
23 | long f_spare[5]; | ||
24 | }; | ||
25 | |||
26 | struct statfs64 { | ||
27 | long f_type; | ||
28 | long f_bsize; | ||
29 | long f_blocks; | ||
30 | long f_bfree; | ||
31 | long f_bavail; | ||
32 | long f_files; | ||
33 | long f_ffree; | ||
34 | __kernel_fsid_t f_fsid; | ||
35 | long f_namelen; | ||
36 | long f_frsize; | ||
37 | long f_spare[5]; | ||
38 | }; | ||
39 | |||
40 | struct compat_statfs64 { | ||
41 | __u32 f_type; | ||
42 | __u32 f_bsize; | ||
43 | __u64 f_blocks; | ||
44 | __u64 f_bfree; | ||
45 | __u64 f_bavail; | ||
46 | __u64 f_files; | ||
47 | __u64 f_ffree; | ||
48 | __kernel_fsid_t f_fsid; | ||
49 | __u32 f_namelen; | ||
50 | __u32 f_frsize; | ||
51 | __u32 f_spare[5]; | ||
52 | }; | ||
53 | |||
54 | #endif | ||
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386 index e09edfa560da..1f57c113df6d 100644 --- a/arch/um/Kconfig.i386 +++ b/arch/um/Kconfig.i386 | |||
@@ -9,8 +9,9 @@ config UML_X86 | |||
9 | default y | 9 | default y |
10 | 10 | ||
11 | config X86_32 | 11 | config X86_32 |
12 | bool | 12 | bool |
13 | default y | 13 | default y |
14 | select HAVE_AOUT | ||
14 | 15 | ||
15 | config RWSEM_XCHGADD_ALGORITHM | 16 | config RWSEM_XCHGADD_ALGORITHM |
16 | def_bool y | 17 | def_bool y |
@@ -42,6 +43,3 @@ config ARCH_REUSE_HOST_VSYSCALL_AREA | |||
42 | config GENERIC_HWEIGHT | 43 | config GENERIC_HWEIGHT |
43 | bool | 44 | bool |
44 | default y | 45 | default y |
45 | |||
46 | config ARCH_SUPPORTS_AOUT | ||
47 | def_bool y | ||
diff --git a/arch/um/Kconfig.x86_64 b/arch/um/Kconfig.x86_64 index 5696e7b374b3..40b3407cfe16 100644 --- a/arch/um/Kconfig.x86_64 +++ b/arch/um/Kconfig.x86_64 | |||
@@ -37,6 +37,3 @@ config SMP_BROKEN | |||
37 | config GENERIC_HWEIGHT | 37 | config GENERIC_HWEIGHT |
38 | bool | 38 | bool |
39 | default y | 39 | default y |
40 | |||
41 | config ARCH_SUPPORTS_AOUT | ||
42 | def_bool y | ||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index fc8351f374fd..f65c2744d573 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -18,6 +18,7 @@ config X86_64 | |||
18 | ### Arch settings | 18 | ### Arch settings |
19 | config X86 | 19 | config X86 |
20 | def_bool y | 20 | def_bool y |
21 | select HAVE_AOUT if X86_32 | ||
21 | select HAVE_UNSTABLE_SCHED_CLOCK | 22 | select HAVE_UNSTABLE_SCHED_CLOCK |
22 | select HAVE_IDE | 23 | select HAVE_IDE |
23 | select HAVE_OPROFILE | 24 | select HAVE_OPROFILE |
@@ -152,9 +153,6 @@ config AUDIT_ARCH | |||
152 | bool | 153 | bool |
153 | default X86_64 | 154 | default X86_64 |
154 | 155 | ||
155 | config ARCH_SUPPORTS_AOUT | ||
156 | def_bool y | ||
157 | |||
158 | config ARCH_SUPPORTS_OPTIMIZED_INLINING | 156 | config ARCH_SUPPORTS_OPTIMIZED_INLINING |
159 | def_bool y | 157 | def_bool y |
160 | 158 | ||
@@ -1885,7 +1883,7 @@ config IA32_EMULATION | |||
1885 | 1883 | ||
1886 | config IA32_AOUT | 1884 | config IA32_AOUT |
1887 | tristate "IA32 a.out support" | 1885 | tristate "IA32 a.out support" |
1888 | depends on IA32_EMULATION && ARCH_SUPPORTS_AOUT | 1886 | depends on IA32_EMULATION |
1889 | help | 1887 | help |
1890 | Support old a.out binaries in the 32bit emulation. | 1888 | Support old a.out binaries in the 32bit emulation. |
1891 | 1889 | ||
diff --git a/drivers/media/video/cafe_ccic.c b/drivers/media/video/cafe_ccic.c index 5405c30dbb04..08efbe7254ff 100644 --- a/drivers/media/video/cafe_ccic.c +++ b/drivers/media/video/cafe_ccic.c | |||
@@ -2092,15 +2092,8 @@ static int cafe_pci_probe(struct pci_dev *pdev, | |||
2092 | const struct pci_device_id *id) | 2092 | const struct pci_device_id *id) |
2093 | { | 2093 | { |
2094 | int ret; | 2094 | int ret; |
2095 | u16 classword; | ||
2096 | struct cafe_camera *cam; | 2095 | struct cafe_camera *cam; |
2097 | /* | 2096 | |
2098 | * Make sure we have a camera here - we'll get calls for | ||
2099 | * the other cafe devices as well. | ||
2100 | */ | ||
2101 | pci_read_config_word(pdev, PCI_CLASS_DEVICE, &classword); | ||
2102 | if (classword != PCI_CLASS_MULTIMEDIA_VIDEO) | ||
2103 | return -ENODEV; | ||
2104 | /* | 2097 | /* |
2105 | * Start putting together one of our big camera structures. | 2098 | * Start putting together one of our big camera structures. |
2106 | */ | 2099 | */ |
@@ -2288,8 +2281,8 @@ static int cafe_pci_resume(struct pci_dev *pdev) | |||
2288 | 2281 | ||
2289 | 2282 | ||
2290 | static struct pci_device_id cafe_ids[] = { | 2283 | static struct pci_device_id cafe_ids[] = { |
2291 | { PCI_DEVICE(0x11ab, 0x4100) }, /* Eventual real ID */ | 2284 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, |
2292 | { PCI_DEVICE(0x11ab, 0x4102) }, /* Really eventual real ID */ | 2285 | PCI_DEVICE_ID_MARVELL_88ALP01_CCIC) }, |
2293 | { 0, } | 2286 | { 0, } |
2294 | }; | 2287 | }; |
2295 | 2288 | ||
diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c index 0a84f10d719c..9bd7026b0021 100644 --- a/drivers/mmc/host/sdhci-pci.c +++ b/drivers/mmc/host/sdhci-pci.c | |||
@@ -327,7 +327,7 @@ static const struct pci_device_id pci_ids[] __devinitdata = { | |||
327 | 327 | ||
328 | { | 328 | { |
329 | .vendor = PCI_VENDOR_ID_MARVELL, | 329 | .vendor = PCI_VENDOR_ID_MARVELL, |
330 | .device = PCI_DEVICE_ID_MARVELL_CAFE_SD, | 330 | .device = PCI_DEVICE_ID_MARVELL_88ALP01_SD, |
331 | .subvendor = PCI_ANY_ID, | 331 | .subvendor = PCI_ANY_ID, |
332 | .subdevice = PCI_ANY_ID, | 332 | .subdevice = PCI_ANY_ID, |
333 | .driver_data = (kernel_ulong_t)&sdhci_cafe, | 333 | .driver_data = (kernel_ulong_t)&sdhci_cafe, |
diff --git a/drivers/mtd/nand/cafe_nand.c b/drivers/mtd/nand/cafe_nand.c index 95345d051579..b8064bf3aee4 100644 --- a/drivers/mtd/nand/cafe_nand.c +++ b/drivers/mtd/nand/cafe_nand.c | |||
@@ -1,6 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Driver for One Laptop Per Child ‘CAFÉ’ controller, aka Marvell 88ALP01 | 2 | * Driver for One Laptop Per Child ‘CAFÉ’ controller, aka Marvell 88ALP01 |
3 | * | 3 | * |
4 | * The data sheet for this device can be found at: | ||
5 | * http://www.marvell.com/products/pcconn/88ALP01.jsp | ||
6 | * | ||
4 | * Copyright © 2006 Red Hat, Inc. | 7 | * Copyright © 2006 Red Hat, Inc. |
5 | * Copyright © 2006 David Woodhouse <dwmw2@infradead.org> | 8 | * Copyright © 2006 David Woodhouse <dwmw2@infradead.org> |
6 | */ | 9 | */ |
@@ -842,7 +845,8 @@ static void __devexit cafe_nand_remove(struct pci_dev *pdev) | |||
842 | } | 845 | } |
843 | 846 | ||
844 | static struct pci_device_id cafe_nand_tbl[] = { | 847 | static struct pci_device_id cafe_nand_tbl[] = { |
845 | { 0x11ab, 0x4100, PCI_ANY_ID, PCI_ANY_ID }, | 848 | { PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_88ALP01_NAND, |
849 | PCI_ANY_ID, PCI_ANY_ID }, | ||
846 | { } | 850 | { } |
847 | }; | 851 | }; |
848 | 852 | ||
diff --git a/drivers/video/backlight/mbp_nvidia_bl.c b/drivers/video/backlight/mbp_nvidia_bl.c index 385cba40ea87..06964af761c6 100644 --- a/drivers/video/backlight/mbp_nvidia_bl.c +++ b/drivers/video/backlight/mbp_nvidia_bl.c | |||
@@ -111,6 +111,4 @@ module_exit(mbp_exit); | |||
111 | MODULE_AUTHOR("Matthew Garrett <mjg@redhat.com>"); | 111 | MODULE_AUTHOR("Matthew Garrett <mjg@redhat.com>"); |
112 | MODULE_DESCRIPTION("Nvidia-based Macbook Pro Backlight Driver"); | 112 | MODULE_DESCRIPTION("Nvidia-based Macbook Pro Backlight Driver"); |
113 | MODULE_LICENSE("GPL"); | 113 | MODULE_LICENSE("GPL"); |
114 | MODULE_ALIAS("svnAppleInc.:pnMacBookPro3,1"); | 114 | MODULE_DEVICE_TABLE(dmi, mbp_device_table); |
115 | MODULE_ALIAS("svnAppleInc.:pnMacBookPro3,2"); | ||
116 | MODULE_ALIAS("svnAppleInc.:pnMacBookPro4,1"); | ||
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt index 4a551af6f3fc..17c9c5ec14c5 100644 --- a/fs/Kconfig.binfmt +++ b/fs/Kconfig.binfmt | |||
@@ -59,10 +59,12 @@ config BINFMT_SHARED_FLAT | |||
59 | help | 59 | help |
60 | Support FLAT shared libraries | 60 | Support FLAT shared libraries |
61 | 61 | ||
62 | config HAVE_AOUT | ||
63 | def_bool n | ||
64 | |||
62 | config BINFMT_AOUT | 65 | config BINFMT_AOUT |
63 | tristate "Kernel support for a.out and ECOFF binaries" | 66 | tristate "Kernel support for a.out and ECOFF binaries" |
64 | depends on ARCH_SUPPORTS_AOUT && \ | 67 | depends on HAVE_AOUT |
65 | (X86_32 || ALPHA || ARM || M68K) | ||
66 | ---help--- | 68 | ---help--- |
67 | A.out (Assembler.OUTput) is a set of formats for libraries and | 69 | A.out (Assembler.OUTput) is a set of formats for libraries and |
68 | executables used in the earliest versions of UNIX. Linux used | 70 | executables used in the earliest versions of UNIX. Linux used |
diff --git a/fs/efs/super.c b/fs/efs/super.c index 567b134fa1f1..73b19cfc91fc 100644 --- a/fs/efs/super.c +++ b/fs/efs/super.c | |||
@@ -341,8 +341,6 @@ static int efs_statfs(struct dentry *dentry, struct kstatfs *buf) { | |||
341 | sb->inode_blocks * | 341 | sb->inode_blocks * |
342 | (EFS_BLOCKSIZE / sizeof(struct efs_dinode)); | 342 | (EFS_BLOCKSIZE / sizeof(struct efs_dinode)); |
343 | buf->f_ffree = sb->inode_free; /* free inodes */ | 343 | buf->f_ffree = sb->inode_free; /* free inodes */ |
344 | buf->f_fsid.val[0] = (sb->fs_magic >> 16) & 0xffff; /* fs ID */ | ||
345 | buf->f_fsid.val[1] = sb->fs_magic & 0xffff; /* fs ID */ | ||
346 | buf->f_namelen = EFS_MAXNAMELEN; /* max filename length */ | 344 | buf->f_namelen = EFS_MAXNAMELEN; /* max filename length */ |
347 | 345 | ||
348 | return 0; | 346 | return 0; |
diff --git a/include/asm-cris/a.out.h b/include/asm-cris/a.out.h deleted file mode 100644 index c82e9f9b75f6..000000000000 --- a/include/asm-cris/a.out.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | #ifndef __CRIS_A_OUT_H__ | ||
2 | #define __CRIS_A_OUT_H__ | ||
3 | |||
4 | /* we don't support a.out binaries on Linux/CRIS anyway, so this is | ||
5 | * not really used but still needed because binfmt_elf.c for some reason | ||
6 | * wants to know about a.out even if there is no interpreter available... | ||
7 | */ | ||
8 | |||
9 | struct exec | ||
10 | { | ||
11 | unsigned long a_info; /* Use macros N_MAGIC, etc for access */ | ||
12 | unsigned a_text; /* length of text, in bytes */ | ||
13 | unsigned a_data; /* length of data, in bytes */ | ||
14 | unsigned a_bss; /* length of uninitialized data area for file, in bytes */ | ||
15 | unsigned a_syms; /* length of symbol table data in file, in bytes */ | ||
16 | unsigned a_entry; /* start address */ | ||
17 | unsigned a_trsize; /* length of relocation info for text, in bytes */ | ||
18 | unsigned a_drsize; /* length of relocation info for data, in bytes */ | ||
19 | }; | ||
20 | |||
21 | |||
22 | #define N_TRSIZE(a) ((a).a_trsize) | ||
23 | #define N_DRSIZE(a) ((a).a_drsize) | ||
24 | #define N_SYMSIZE(a) ((a).a_syms) | ||
25 | |||
26 | #endif | ||
diff --git a/include/asm-generic/statfs.h b/include/asm-generic/statfs.h index 1d01043e797d..6129d6802149 100644 --- a/include/asm-generic/statfs.h +++ b/include/asm-generic/statfs.h | |||
@@ -6,33 +6,64 @@ | |||
6 | typedef __kernel_fsid_t fsid_t; | 6 | typedef __kernel_fsid_t fsid_t; |
7 | #endif | 7 | #endif |
8 | 8 | ||
9 | /* | ||
10 | * Most 64-bit platforms use 'long', while most 32-bit platforms use '__u32'. | ||
11 | * Yes, they differ in signedness as well as size. | ||
12 | * Special cases can override it for themselves -- except for S390x, which | ||
13 | * is just a little too special for us. And MIPS, which I'm not touching | ||
14 | * with a 10' pole. | ||
15 | */ | ||
16 | #ifndef __statfs_word | ||
17 | #if BITS_PER_LONG == 64 | ||
18 | #define __statfs_word long | ||
19 | #else | ||
20 | #define __statfs_word __u32 | ||
21 | #endif | ||
22 | #endif | ||
23 | |||
9 | struct statfs { | 24 | struct statfs { |
10 | __u32 f_type; | 25 | __statfs_word f_type; |
11 | __u32 f_bsize; | 26 | __statfs_word f_bsize; |
12 | __u32 f_blocks; | 27 | __statfs_word f_blocks; |
13 | __u32 f_bfree; | 28 | __statfs_word f_bfree; |
14 | __u32 f_bavail; | 29 | __statfs_word f_bavail; |
15 | __u32 f_files; | 30 | __statfs_word f_files; |
16 | __u32 f_ffree; | 31 | __statfs_word f_ffree; |
17 | __kernel_fsid_t f_fsid; | 32 | __kernel_fsid_t f_fsid; |
18 | __u32 f_namelen; | 33 | __statfs_word f_namelen; |
19 | __u32 f_frsize; | 34 | __statfs_word f_frsize; |
20 | __u32 f_spare[5]; | 35 | __statfs_word f_spare[5]; |
21 | }; | 36 | }; |
22 | 37 | ||
38 | /* | ||
39 | * ARM needs to avoid the 32-bit padding at the end, for consistency | ||
40 | * between EABI and OABI | ||
41 | */ | ||
42 | #ifndef ARCH_PACK_STATFS64 | ||
43 | #define ARCH_PACK_STATFS64 | ||
44 | #endif | ||
45 | |||
23 | struct statfs64 { | 46 | struct statfs64 { |
24 | __u32 f_type; | 47 | __statfs_word f_type; |
25 | __u32 f_bsize; | 48 | __statfs_word f_bsize; |
26 | __u64 f_blocks; | 49 | __u64 f_blocks; |
27 | __u64 f_bfree; | 50 | __u64 f_bfree; |
28 | __u64 f_bavail; | 51 | __u64 f_bavail; |
29 | __u64 f_files; | 52 | __u64 f_files; |
30 | __u64 f_ffree; | 53 | __u64 f_ffree; |
31 | __kernel_fsid_t f_fsid; | 54 | __kernel_fsid_t f_fsid; |
32 | __u32 f_namelen; | 55 | __statfs_word f_namelen; |
33 | __u32 f_frsize; | 56 | __statfs_word f_frsize; |
34 | __u32 f_spare[5]; | 57 | __statfs_word f_spare[5]; |
35 | }; | 58 | } ARCH_PACK_STATFS64; |
59 | |||
60 | /* | ||
61 | * IA64 and x86_64 need to avoid the 32-bit padding at the end, | ||
62 | * to be compatible with the i386 ABI | ||
63 | */ | ||
64 | #ifndef ARCH_PACK_COMPAT_STATFS64 | ||
65 | #define ARCH_PACK_COMPAT_STATFS64 | ||
66 | #endif | ||
36 | 67 | ||
37 | struct compat_statfs64 { | 68 | struct compat_statfs64 { |
38 | __u32 f_type; | 69 | __u32 f_type; |
@@ -46,6 +77,6 @@ struct compat_statfs64 { | |||
46 | __u32 f_namelen; | 77 | __u32 f_namelen; |
47 | __u32 f_frsize; | 78 | __u32 f_frsize; |
48 | __u32 f_spare[5]; | 79 | __u32 f_spare[5]; |
49 | }; | 80 | } ARCH_PACK_COMPAT_STATFS64; |
50 | 81 | ||
51 | #endif | 82 | #endif |
diff --git a/include/asm-m32r/a.out.h b/include/asm-m32r/a.out.h deleted file mode 100644 index ab150f5c1666..000000000000 --- a/include/asm-m32r/a.out.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #ifndef _ASM_M32R_A_OUT_H | ||
2 | #define _ASM_M32R_A_OUT_H | ||
3 | |||
4 | struct exec | ||
5 | { | ||
6 | unsigned long a_info; /* Use macros N_MAGIC, etc for access */ | ||
7 | unsigned a_text; /* length of text, in bytes */ | ||
8 | unsigned a_data; /* length of data, in bytes */ | ||
9 | unsigned a_bss; /* length of uninitialized data area for file, in bytes */ | ||
10 | unsigned a_syms; /* length of symbol table data in file, in bytes */ | ||
11 | unsigned a_entry; /* start address */ | ||
12 | unsigned a_trsize; /* length of relocation info for text, in bytes */ | ||
13 | unsigned a_drsize; /* length of relocation info for data, in bytes */ | ||
14 | }; | ||
15 | |||
16 | #define N_TRSIZE(a) ((a).a_trsize) | ||
17 | #define N_DRSIZE(a) ((a).a_drsize) | ||
18 | #define N_SYMSIZE(a) ((a).a_syms) | ||
19 | |||
20 | #endif /* _ASM_M32R_A_OUT_H */ | ||
diff --git a/include/asm-parisc/a.out.h b/include/asm-parisc/a.out.h deleted file mode 100644 index eb04e34c5bb1..000000000000 --- a/include/asm-parisc/a.out.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | #ifndef __PARISC_A_OUT_H__ | ||
2 | #define __PARISC_A_OUT_H__ | ||
3 | |||
4 | struct exec | ||
5 | { | ||
6 | unsigned int a_info; /* Use macros N_MAGIC, etc for access */ | ||
7 | unsigned a_text; /* length of text, in bytes */ | ||
8 | unsigned a_data; /* length of data, in bytes */ | ||
9 | unsigned a_bss; /* length of uninitialized data area for file, in bytes */ | ||
10 | unsigned a_syms; /* length of symbol table data in file, in bytes */ | ||
11 | unsigned a_entry; /* start address */ | ||
12 | unsigned a_trsize; /* length of relocation info for text, in bytes */ | ||
13 | unsigned a_drsize; /* length of relocation info for data, in bytes */ | ||
14 | }; | ||
15 | |||
16 | #define N_TRSIZE(a) ((a).a_trsize) | ||
17 | #define N_DRSIZE(a) ((a).a_drsize) | ||
18 | #define N_SYMSIZE(a) ((a).a_syms) | ||
19 | |||
20 | #endif /* __A_OUT_GNU_H__ */ | ||
diff --git a/include/asm-parisc/statfs.h b/include/asm-parisc/statfs.h index 1d2b8130b23d..324bea905dc6 100644 --- a/include/asm-parisc/statfs.h +++ b/include/asm-parisc/statfs.h | |||
@@ -1,58 +1,7 @@ | |||
1 | #ifndef _PARISC_STATFS_H | 1 | #ifndef _PARISC_STATFS_H |
2 | #define _PARISC_STATFS_H | 2 | #define _PARISC_STATFS_H |
3 | 3 | ||
4 | #ifndef __KERNEL_STRICT_NAMES | 4 | #define __statfs_word long |
5 | 5 | #include <asm-generic/statfs.h> | |
6 | #include <linux/types.h> | ||
7 | |||
8 | typedef __kernel_fsid_t fsid_t; | ||
9 | |||
10 | #endif | ||
11 | |||
12 | /* | ||
13 | * It appears that PARISC could be 64 _or_ 32 bit. | ||
14 | * 64-bit fields must be explicitly 64-bit in statfs64. | ||
15 | */ | ||
16 | struct statfs { | ||
17 | long f_type; | ||
18 | long f_bsize; | ||
19 | long f_blocks; | ||
20 | long f_bfree; | ||
21 | long f_bavail; | ||
22 | long f_files; | ||
23 | long f_ffree; | ||
24 | __kernel_fsid_t f_fsid; | ||
25 | long f_namelen; | ||
26 | long f_frsize; | ||
27 | long f_spare[5]; | ||
28 | }; | ||
29 | |||
30 | struct statfs64 { | ||
31 | long f_type; | ||
32 | long f_bsize; | ||
33 | __u64 f_blocks; | ||
34 | __u64 f_bfree; | ||
35 | __u64 f_bavail; | ||
36 | __u64 f_files; | ||
37 | __u64 f_ffree; | ||
38 | __kernel_fsid_t f_fsid; | ||
39 | long f_namelen; | ||
40 | long f_frsize; | ||
41 | long f_spare[5]; | ||
42 | }; | ||
43 | |||
44 | struct compat_statfs64 { | ||
45 | __u32 f_type; | ||
46 | __u32 f_bsize; | ||
47 | __u64 f_blocks; | ||
48 | __u64 f_bfree; | ||
49 | __u64 f_bavail; | ||
50 | __u64 f_files; | ||
51 | __u64 f_ffree; | ||
52 | __kernel_fsid_t f_fsid; | ||
53 | __u32 f_namelen; | ||
54 | __u32 f_frsize; | ||
55 | __u32 f_spare[5]; | ||
56 | }; | ||
57 | 6 | ||
58 | #endif | 7 | #endif |
diff --git a/include/asm-x86/statfs.h b/include/asm-x86/statfs.h index 3f005bc3aa5b..ca5dc19dd461 100644 --- a/include/asm-x86/statfs.h +++ b/include/asm-x86/statfs.h | |||
@@ -1,63 +1,12 @@ | |||
1 | #ifndef ASM_X86__STATFS_H | 1 | #ifndef ASM_X86__STATFS_H |
2 | #define ASM_X86__STATFS_H | 2 | #define ASM_X86__STATFS_H |
3 | 3 | ||
4 | #ifdef __i386__ | ||
5 | #include <asm-generic/statfs.h> | ||
6 | #else | ||
7 | |||
8 | #ifndef __KERNEL_STRICT_NAMES | ||
9 | |||
10 | #include <linux/types.h> | ||
11 | |||
12 | typedef __kernel_fsid_t fsid_t; | ||
13 | |||
14 | #endif | ||
15 | |||
16 | /* | 4 | /* |
17 | * This is ugly -- we're already 64-bit clean, so just duplicate the | 5 | * We need compat_statfs64 to be packed, because the i386 ABI won't |
18 | * definitions. | 6 | * add padding at the end to bring it to a multiple of 8 bytes, but |
7 | * the x86_64 ABI will. | ||
19 | */ | 8 | */ |
20 | struct statfs { | 9 | #define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4))) |
21 | long f_type; | ||
22 | long f_bsize; | ||
23 | long f_blocks; | ||
24 | long f_bfree; | ||
25 | long f_bavail; | ||
26 | long f_files; | ||
27 | long f_ffree; | ||
28 | __kernel_fsid_t f_fsid; | ||
29 | long f_namelen; | ||
30 | long f_frsize; | ||
31 | long f_spare[5]; | ||
32 | }; | ||
33 | |||
34 | struct statfs64 { | ||
35 | long f_type; | ||
36 | long f_bsize; | ||
37 | long f_blocks; | ||
38 | long f_bfree; | ||
39 | long f_bavail; | ||
40 | long f_files; | ||
41 | long f_ffree; | ||
42 | __kernel_fsid_t f_fsid; | ||
43 | long f_namelen; | ||
44 | long f_frsize; | ||
45 | long f_spare[5]; | ||
46 | }; | ||
47 | 10 | ||
48 | struct compat_statfs64 { | 11 | #include <asm-generic/statfs.h> |
49 | __u32 f_type; | ||
50 | __u32 f_bsize; | ||
51 | __u64 f_blocks; | ||
52 | __u64 f_bfree; | ||
53 | __u64 f_bavail; | ||
54 | __u64 f_files; | ||
55 | __u64 f_ffree; | ||
56 | __kernel_fsid_t f_fsid; | ||
57 | __u32 f_namelen; | ||
58 | __u32 f_frsize; | ||
59 | __u32 f_spare[5]; | ||
60 | } __attribute__((packed)); | ||
61 | |||
62 | #endif /* !__i386__ */ | ||
63 | #endif /* ASM_X86__STATFS_H */ | 12 | #endif /* ASM_X86__STATFS_H */ |
diff --git a/include/asm-xtensa/a.out.h b/include/asm-xtensa/a.out.h deleted file mode 100644 index fdf13702924a..000000000000 --- a/include/asm-xtensa/a.out.h +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-xtensa/a.out.h | ||
3 | * | ||
4 | * Dummy a.out file. Xtensa does not support the a.out format, but the kernel | ||
5 | * seems to depend on it. | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General Public | ||
8 | * License. See the file "COPYING" in the main directory of this archive | ||
9 | * for more details. | ||
10 | * | ||
11 | * Copyright (C) 2001 - 2005 Tensilica Inc. | ||
12 | */ | ||
13 | |||
14 | #ifndef _XTENSA_A_OUT_H | ||
15 | #define _XTENSA_A_OUT_H | ||
16 | |||
17 | struct exec | ||
18 | { | ||
19 | unsigned long a_info; | ||
20 | unsigned a_text; | ||
21 | unsigned a_data; | ||
22 | unsigned a_bss; | ||
23 | unsigned a_syms; | ||
24 | unsigned a_entry; | ||
25 | unsigned a_trsize; | ||
26 | unsigned a_drsize; | ||
27 | }; | ||
28 | |||
29 | #endif /* _XTENSA_A_OUT_H */ | ||
diff --git a/include/linux/dmi.h b/include/linux/dmi.h index 2a063b64133f..e5084eb5943a 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h | |||
@@ -2,29 +2,9 @@ | |||
2 | #define __DMI_H__ | 2 | #define __DMI_H__ |
3 | 3 | ||
4 | #include <linux/list.h> | 4 | #include <linux/list.h> |
5 | #include <linux/mod_devicetable.h> | ||
5 | 6 | ||
6 | enum dmi_field { | 7 | /* enum dmi_field is in mod_devicetable.h */ |
7 | DMI_NONE, | ||
8 | DMI_BIOS_VENDOR, | ||
9 | DMI_BIOS_VERSION, | ||
10 | DMI_BIOS_DATE, | ||
11 | DMI_SYS_VENDOR, | ||
12 | DMI_PRODUCT_NAME, | ||
13 | DMI_PRODUCT_VERSION, | ||
14 | DMI_PRODUCT_SERIAL, | ||
15 | DMI_PRODUCT_UUID, | ||
16 | DMI_BOARD_VENDOR, | ||
17 | DMI_BOARD_NAME, | ||
18 | DMI_BOARD_VERSION, | ||
19 | DMI_BOARD_SERIAL, | ||
20 | DMI_BOARD_ASSET_TAG, | ||
21 | DMI_CHASSIS_VENDOR, | ||
22 | DMI_CHASSIS_TYPE, | ||
23 | DMI_CHASSIS_VERSION, | ||
24 | DMI_CHASSIS_SERIAL, | ||
25 | DMI_CHASSIS_ASSET_TAG, | ||
26 | DMI_STRING_MAX, | ||
27 | }; | ||
28 | 8 | ||
29 | enum dmi_device_type { | 9 | enum dmi_device_type { |
30 | DMI_DEV_TYPE_ANY = 0, | 10 | DMI_DEV_TYPE_ANY = 0, |
@@ -48,23 +28,6 @@ struct dmi_header { | |||
48 | u16 handle; | 28 | u16 handle; |
49 | }; | 29 | }; |
50 | 30 | ||
51 | /* | ||
52 | * DMI callbacks for problem boards | ||
53 | */ | ||
54 | struct dmi_strmatch { | ||
55 | u8 slot; | ||
56 | char *substr; | ||
57 | }; | ||
58 | |||
59 | struct dmi_system_id { | ||
60 | int (*callback)(const struct dmi_system_id *); | ||
61 | const char *ident; | ||
62 | struct dmi_strmatch matches[4]; | ||
63 | void *driver_data; | ||
64 | }; | ||
65 | |||
66 | #define DMI_MATCH(a, b) { a, b } | ||
67 | |||
68 | struct dmi_device { | 31 | struct dmi_device { |
69 | struct list_head list; | 32 | struct list_head list; |
70 | int type; | 33 | int type; |
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index c4db5827963d..3481a7d5bc0a 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
@@ -388,5 +388,52 @@ struct i2c_device_id { | |||
388 | __attribute__((aligned(sizeof(kernel_ulong_t)))); | 388 | __attribute__((aligned(sizeof(kernel_ulong_t)))); |
389 | }; | 389 | }; |
390 | 390 | ||
391 | /* dmi */ | ||
392 | enum dmi_field { | ||
393 | DMI_NONE, | ||
394 | DMI_BIOS_VENDOR, | ||
395 | DMI_BIOS_VERSION, | ||
396 | DMI_BIOS_DATE, | ||
397 | DMI_SYS_VENDOR, | ||
398 | DMI_PRODUCT_NAME, | ||
399 | DMI_PRODUCT_VERSION, | ||
400 | DMI_PRODUCT_SERIAL, | ||
401 | DMI_PRODUCT_UUID, | ||
402 | DMI_BOARD_VENDOR, | ||
403 | DMI_BOARD_NAME, | ||
404 | DMI_BOARD_VERSION, | ||
405 | DMI_BOARD_SERIAL, | ||
406 | DMI_BOARD_ASSET_TAG, | ||
407 | DMI_CHASSIS_VENDOR, | ||
408 | DMI_CHASSIS_TYPE, | ||
409 | DMI_CHASSIS_VERSION, | ||
410 | DMI_CHASSIS_SERIAL, | ||
411 | DMI_CHASSIS_ASSET_TAG, | ||
412 | DMI_STRING_MAX, | ||
413 | }; | ||
414 | |||
415 | struct dmi_strmatch { | ||
416 | unsigned char slot; | ||
417 | char substr[79]; | ||
418 | }; | ||
419 | |||
420 | #ifndef __KERNEL__ | ||
421 | struct dmi_system_id { | ||
422 | kernel_ulong_t callback; | ||
423 | kernel_ulong_t ident; | ||
424 | struct dmi_strmatch matches[4]; | ||
425 | kernel_ulong_t driver_data | ||
426 | __attribute__((aligned(sizeof(kernel_ulong_t)))); | ||
427 | }; | ||
428 | #else | ||
429 | struct dmi_system_id { | ||
430 | int (*callback)(const struct dmi_system_id *); | ||
431 | const char *ident; | ||
432 | struct dmi_strmatch matches[4]; | ||
433 | void *driver_data; | ||
434 | }; | ||
435 | #endif | ||
436 | |||
437 | #define DMI_MATCH(a, b) { a, b } | ||
391 | 438 | ||
392 | #endif /* LINUX_MOD_DEVICETABLE_H */ | 439 | #endif /* LINUX_MOD_DEVICETABLE_H */ |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index f63b5455801c..1176f1f177e2 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -1533,7 +1533,9 @@ | |||
1533 | #define PCI_DEVICE_ID_MARVELL_GT64260 0x6430 | 1533 | #define PCI_DEVICE_ID_MARVELL_GT64260 0x6430 |
1534 | #define PCI_DEVICE_ID_MARVELL_MV64360 0x6460 | 1534 | #define PCI_DEVICE_ID_MARVELL_MV64360 0x6460 |
1535 | #define PCI_DEVICE_ID_MARVELL_MV64460 0x6480 | 1535 | #define PCI_DEVICE_ID_MARVELL_MV64460 0x6480 |
1536 | #define PCI_DEVICE_ID_MARVELL_CAFE_SD 0x4101 | 1536 | #define PCI_DEVICE_ID_MARVELL_88ALP01_NAND 0x4100 |
1537 | #define PCI_DEVICE_ID_MARVELL_88ALP01_SD 0x4101 | ||
1538 | #define PCI_DEVICE_ID_MARVELL_88ALP01_CCIC 0x4102 | ||
1537 | 1539 | ||
1538 | #define PCI_VENDOR_ID_V3 0x11b0 | 1540 | #define PCI_VENDOR_ID_V3 0x11b0 |
1539 | #define PCI_DEVICE_ID_V3_V960 0x0001 | 1541 | #define PCI_DEVICE_ID_V3_V960 0x0001 |
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 4c9890ec2528..473f94e56ead 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c | |||
@@ -629,6 +629,59 @@ static int do_i2c_entry(const char *filename, struct i2c_device_id *id, | |||
629 | return 1; | 629 | return 1; |
630 | } | 630 | } |
631 | 631 | ||
632 | static const struct dmifield { | ||
633 | const char *prefix; | ||
634 | int field; | ||
635 | } dmi_fields[] = { | ||
636 | { "bvn", DMI_BIOS_VENDOR }, | ||
637 | { "bvr", DMI_BIOS_VERSION }, | ||
638 | { "bd", DMI_BIOS_DATE }, | ||
639 | { "svn", DMI_SYS_VENDOR }, | ||
640 | { "pn", DMI_PRODUCT_NAME }, | ||
641 | { "pvr", DMI_PRODUCT_VERSION }, | ||
642 | { "rvn", DMI_BOARD_VENDOR }, | ||
643 | { "rn", DMI_BOARD_NAME }, | ||
644 | { "rvr", DMI_BOARD_VERSION }, | ||
645 | { "cvn", DMI_CHASSIS_VENDOR }, | ||
646 | { "ct", DMI_CHASSIS_TYPE }, | ||
647 | { "cvr", DMI_CHASSIS_VERSION }, | ||
648 | { NULL, DMI_NONE } | ||
649 | }; | ||
650 | |||
651 | static void dmi_ascii_filter(char *d, const char *s) | ||
652 | { | ||
653 | /* Filter out characters we don't want to see in the modalias string */ | ||
654 | for (; *s; s++) | ||
655 | if (*s > ' ' && *s < 127 && *s != ':') | ||
656 | *(d++) = *s; | ||
657 | |||
658 | *d = 0; | ||
659 | } | ||
660 | |||
661 | |||
662 | static int do_dmi_entry(const char *filename, struct dmi_system_id *id, | ||
663 | char *alias) | ||
664 | { | ||
665 | int i, j; | ||
666 | |||
667 | sprintf(alias, "dmi*"); | ||
668 | |||
669 | for (i = 0; i < ARRAY_SIZE(dmi_fields); i++) { | ||
670 | for (j = 0; j < 4; j++) { | ||
671 | if (id->matches[j].slot && | ||
672 | id->matches[j].slot == dmi_fields[i].field) { | ||
673 | sprintf(alias + strlen(alias), ":%s*", | ||
674 | dmi_fields[i].prefix); | ||
675 | dmi_ascii_filter(alias + strlen(alias), | ||
676 | id->matches[j].substr); | ||
677 | strcat(alias, "*"); | ||
678 | } | ||
679 | } | ||
680 | } | ||
681 | |||
682 | strcat(alias, ":"); | ||
683 | return 1; | ||
684 | } | ||
632 | /* Ignore any prefix, eg. some architectures prepend _ */ | 685 | /* Ignore any prefix, eg. some architectures prepend _ */ |
633 | static inline int sym_is(const char *symbol, const char *name) | 686 | static inline int sym_is(const char *symbol, const char *name) |
634 | { | 687 | { |
@@ -760,6 +813,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, | |||
760 | do_table(symval, sym->st_size, | 813 | do_table(symval, sym->st_size, |
761 | sizeof(struct i2c_device_id), "i2c", | 814 | sizeof(struct i2c_device_id), "i2c", |
762 | do_i2c_entry, mod); | 815 | do_i2c_entry, mod); |
816 | else if (sym_is(symname, "__mod_dmi_device_table")) | ||
817 | do_table(symval, sym->st_size, | ||
818 | sizeof(struct dmi_system_id), "dmi", | ||
819 | do_dmi_entry, mod); | ||
763 | free(zeros); | 820 | free(zeros); |
764 | } | 821 | } |
765 | 822 | ||