aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2012-07-30 17:42:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-07-30 20:25:21 -0400
commitc1d7e01d7877a397655277a920aeaa3830ed9461 (patch)
tree26ba70159355ba60d835cef1a417f03eaec0148c
parent05ba3f1aa1b04e921068249dd52a80bc84c2aeb4 (diff)
ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION
Rather than #define the options manually in the architecture code, add Kconfig options for them and select them there instead. This also allows us to select the compat IPC version parsing automatically for platforms using the old compat IPC interface. Reported-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Chris Metcalf <cmetcalf@tilera.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/Kconfig7
-rw-r--r--arch/alpha/Kconfig1
-rw-r--r--arch/alpha/include/asm/unistd.h1
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/include/asm/unistd.h1
-rw-r--r--arch/avr32/Kconfig1
-rw-r--r--arch/avr32/include/asm/unistd.h1
-rw-r--r--arch/blackfin/Kconfig1
-rw-r--r--arch/blackfin/include/asm/unistd.h1
-rw-r--r--arch/cris/Kconfig1
-rw-r--r--arch/cris/include/asm/unistd.h1
-rw-r--r--arch/frv/Kconfig1
-rw-r--r--arch/frv/include/asm/unistd.h1
-rw-r--r--arch/h8300/Kconfig1
-rw-r--r--arch/h8300/include/asm/unistd.h1
-rw-r--r--arch/m32r/Kconfig1
-rw-r--r--arch/m32r/include/asm/unistd.h1
-rw-r--r--arch/m68k/Kconfig1
-rw-r--r--arch/m68k/include/asm/unistd.h1
-rw-r--r--arch/microblaze/Kconfig1
-rw-r--r--arch/microblaze/include/asm/unistd.h1
-rw-r--r--arch/mips/Kconfig1
-rw-r--r--arch/mips/include/asm/unistd.h1
-rw-r--r--arch/mn10300/Kconfig1
-rw-r--r--arch/mn10300/include/asm/unistd.h1
-rw-r--r--arch/powerpc/Kconfig1
-rw-r--r--arch/powerpc/include/asm/unistd.h1
-rw-r--r--arch/s390/Kconfig1
-rw-r--r--arch/s390/include/asm/unistd.h1
-rw-r--r--arch/sh/Kconfig2
-rw-r--r--arch/sh/include/asm/unistd.h1
-rw-r--r--arch/sparc/Kconfig1
-rw-r--r--arch/sparc/include/asm/unistd.h1
-rw-r--r--arch/x86/Kconfig1
-rw-r--r--arch/x86/include/asm/unistd.h1
-rw-r--r--include/linux/compat.h1
-rw-r--r--ipc/compat.c2
-rw-r--r--ipc/util.c4
-rw-r--r--ipc/util.h2
39 files changed, 29 insertions, 22 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index 8c3d957fa8e2..72f2fa189cc5 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -248,7 +248,14 @@ config HAVE_CMPXCHG_LOCAL
248config HAVE_CMPXCHG_DOUBLE 248config HAVE_CMPXCHG_DOUBLE
249 bool 249 bool
250 250
251config ARCH_WANT_IPC_PARSE_VERSION
252 bool
253
254config ARCH_WANT_COMPAT_IPC_PARSE_VERSION
255 bool
256
251config ARCH_WANT_OLD_COMPAT_IPC 257config ARCH_WANT_OLD_COMPAT_IPC
258 select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
252 bool 259 bool
253 260
254config HAVE_ARCH_SECCOMP_FILTER 261config HAVE_ARCH_SECCOMP_FILTER
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 3de74c9f9610..d5b9b5e645cc 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -14,6 +14,7 @@ config ALPHA
14 select AUTO_IRQ_AFFINITY if SMP 14 select AUTO_IRQ_AFFINITY if SMP
15 select GENERIC_IRQ_SHOW 15 select GENERIC_IRQ_SHOW
16 select ARCH_WANT_OPTIONAL_GPIOLIB 16 select ARCH_WANT_OPTIONAL_GPIOLIB
17 select ARCH_WANT_IPC_PARSE_VERSION
17 select ARCH_HAVE_NMI_SAFE_CMPXCHG 18 select ARCH_HAVE_NMI_SAFE_CMPXCHG
18 select GENERIC_SMP_IDLE_THREAD 19 select GENERIC_SMP_IDLE_THREAD
19 select GENERIC_CMOS_UPDATE 20 select GENERIC_CMOS_UPDATE
diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h
index d1f23b722df4..633b23b0664a 100644
--- a/arch/alpha/include/asm/unistd.h
+++ b/arch/alpha/include/asm/unistd.h
@@ -470,7 +470,6 @@
470 470
471#define NR_SYSCALLS 504 471#define NR_SYSCALLS 504
472 472
473#define __ARCH_WANT_IPC_PARSE_VERSION
474#define __ARCH_WANT_OLD_READDIR 473#define __ARCH_WANT_OLD_READDIR
475#define __ARCH_WANT_STAT64 474#define __ARCH_WANT_STAT64
476#define __ARCH_WANT_SYS_GETHOSTNAME 475#define __ARCH_WANT_SYS_GETHOSTNAME
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4172c3cea228..5df11147be84 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -39,6 +39,7 @@ config ARM
39 select GENERIC_IRQ_PROBE 39 select GENERIC_IRQ_PROBE
40 select GENERIC_IRQ_SHOW 40 select GENERIC_IRQ_SHOW
41 select GENERIC_IRQ_PROBE 41 select GENERIC_IRQ_PROBE
42 select ARCH_WANT_IPC_PARSE_VERSION
42 select HARDIRQS_SW_RESEND 43 select HARDIRQS_SW_RESEND
43 select CPU_PM if (SUSPEND || CPU_IDLE) 44 select CPU_PM if (SUSPEND || CPU_IDLE)
44 select GENERIC_PCI_IOMAP 45 select GENERIC_PCI_IOMAP
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index 512cd1473454..0cab47d4a83f 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -446,7 +446,6 @@
446 446
447#ifdef __KERNEL__ 447#ifdef __KERNEL__
448 448
449#define __ARCH_WANT_IPC_PARSE_VERSION
450#define __ARCH_WANT_STAT64 449#define __ARCH_WANT_STAT64
451#define __ARCH_WANT_SYS_GETHOSTNAME 450#define __ARCH_WANT_SYS_GETHOSTNAME
452#define __ARCH_WANT_SYS_PAUSE 451#define __ARCH_WANT_SYS_PAUSE
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index 71d38c76726c..5ade51c8a87f 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -12,6 +12,7 @@ config AVR32
12 select HARDIRQS_SW_RESEND 12 select HARDIRQS_SW_RESEND
13 select GENERIC_IRQ_SHOW 13 select GENERIC_IRQ_SHOW
14 select ARCH_HAVE_CUSTOM_GPIO_H 14 select ARCH_HAVE_CUSTOM_GPIO_H
15 select ARCH_WANT_IPC_PARSE_VERSION
15 select ARCH_HAVE_NMI_SAFE_CMPXCHG 16 select ARCH_HAVE_NMI_SAFE_CMPXCHG
16 select GENERIC_CLOCKEVENTS 17 select GENERIC_CLOCKEVENTS
17 help 18 help
diff --git a/arch/avr32/include/asm/unistd.h b/arch/avr32/include/asm/unistd.h
index f714544e5560..1358e366f4be 100644
--- a/arch/avr32/include/asm/unistd.h
+++ b/arch/avr32/include/asm/unistd.h
@@ -318,7 +318,6 @@
318/* SMP stuff */ 318/* SMP stuff */
319#define __IGNORE_getcpu 319#define __IGNORE_getcpu
320 320
321#define __ARCH_WANT_IPC_PARSE_VERSION
322#define __ARCH_WANT_STAT64 321#define __ARCH_WANT_STAT64
323#define __ARCH_WANT_SYS_ALARM 322#define __ARCH_WANT_SYS_ALARM
324#define __ARCH_WANT_SYS_GETHOSTNAME 323#define __ARCH_WANT_SYS_GETHOSTNAME
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 9b765107e15c..fb9fe00e51a6 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -33,6 +33,7 @@ config BLACKFIN
33 select HAVE_PERF_EVENTS 33 select HAVE_PERF_EVENTS
34 select ARCH_HAVE_CUSTOM_GPIO_H 34 select ARCH_HAVE_CUSTOM_GPIO_H
35 select ARCH_WANT_OPTIONAL_GPIOLIB 35 select ARCH_WANT_OPTIONAL_GPIOLIB
36 select ARCH_WANT_IPC_PARSE_VERSION
36 select HAVE_GENERIC_HARDIRQS 37 select HAVE_GENERIC_HARDIRQS
37 select GENERIC_ATOMIC64 38 select GENERIC_ATOMIC64
38 select GENERIC_IRQ_PROBE 39 select GENERIC_IRQ_PROBE
diff --git a/arch/blackfin/include/asm/unistd.h b/arch/blackfin/include/asm/unistd.h
index 3287222cba34..5b2a0748d7d3 100644
--- a/arch/blackfin/include/asm/unistd.h
+++ b/arch/blackfin/include/asm/unistd.h
@@ -434,7 +434,6 @@
434#define __IGNORE_getcpu 434#define __IGNORE_getcpu
435 435
436#ifdef __KERNEL__ 436#ifdef __KERNEL__
437#define __ARCH_WANT_IPC_PARSE_VERSION
438#define __ARCH_WANT_STAT64 437#define __ARCH_WANT_STAT64
439#define __ARCH_WANT_SYS_ALARM 438#define __ARCH_WANT_SYS_ALARM
440#define __ARCH_WANT_SYS_GETHOSTNAME 439#define __ARCH_WANT_SYS_GETHOSTNAME
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
index bb344650a14f..e92215428a37 100644
--- a/arch/cris/Kconfig
+++ b/arch/cris/Kconfig
@@ -42,6 +42,7 @@ config CRIS
42 select HAVE_IDE 42 select HAVE_IDE
43 select GENERIC_ATOMIC64 43 select GENERIC_ATOMIC64
44 select HAVE_GENERIC_HARDIRQS 44 select HAVE_GENERIC_HARDIRQS
45 select ARCH_WANT_IPC_PARSE_VERSION
45 select GENERIC_IRQ_SHOW 46 select GENERIC_IRQ_SHOW
46 select GENERIC_IOMAP 47 select GENERIC_IOMAP
47 select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32 48 select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32
diff --git a/arch/cris/include/asm/unistd.h b/arch/cris/include/asm/unistd.h
index f921b8b0f97e..51873a446f87 100644
--- a/arch/cris/include/asm/unistd.h
+++ b/arch/cris/include/asm/unistd.h
@@ -347,7 +347,6 @@
347 347
348#include <arch/unistd.h> 348#include <arch/unistd.h>
349 349
350#define __ARCH_WANT_IPC_PARSE_VERSION
351#define __ARCH_WANT_OLD_READDIR 350#define __ARCH_WANT_OLD_READDIR
352#define __ARCH_WANT_OLD_STAT 351#define __ARCH_WANT_OLD_STAT
353#define __ARCH_WANT_STAT64 352#define __ARCH_WANT_STAT64
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig
index a685910d2d5c..971c0a19facb 100644
--- a/arch/frv/Kconfig
+++ b/arch/frv/Kconfig
@@ -9,6 +9,7 @@ config FRV
9 select GENERIC_IRQ_SHOW 9 select GENERIC_IRQ_SHOW
10 select ARCH_HAVE_NMI_SAFE_CMPXCHG 10 select ARCH_HAVE_NMI_SAFE_CMPXCHG
11 select GENERIC_CPU_DEVICES 11 select GENERIC_CPU_DEVICES
12 select ARCH_WANT_IPC_PARSE_VERSION
12 13
13config ZONE_DMA 14config ZONE_DMA
14 bool 15 bool
diff --git a/arch/frv/include/asm/unistd.h b/arch/frv/include/asm/unistd.h
index a569dff7cd59..67f23a311db6 100644
--- a/arch/frv/include/asm/unistd.h
+++ b/arch/frv/include/asm/unistd.h
@@ -349,7 +349,6 @@
349 349
350#define NR_syscalls 338 350#define NR_syscalls 338
351 351
352#define __ARCH_WANT_IPC_PARSE_VERSION
353/* #define __ARCH_WANT_OLD_READDIR */ 352/* #define __ARCH_WANT_OLD_READDIR */
354#define __ARCH_WANT_OLD_STAT 353#define __ARCH_WANT_OLD_STAT
355#define __ARCH_WANT_STAT64 354#define __ARCH_WANT_STAT64
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index 56e890df5053..5e8a0d9a09ce 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -3,6 +3,7 @@ config H8300
3 default y 3 default y
4 select HAVE_IDE 4 select HAVE_IDE
5 select HAVE_GENERIC_HARDIRQS 5 select HAVE_GENERIC_HARDIRQS
6 select ARCH_WANT_IPC_PARSE_VERSION
6 select GENERIC_IRQ_SHOW 7 select GENERIC_IRQ_SHOW
7 select GENERIC_CPU_DEVICES 8 select GENERIC_CPU_DEVICES
8 9
diff --git a/arch/h8300/include/asm/unistd.h b/arch/h8300/include/asm/unistd.h
index 718511303b4e..5cd882801d79 100644
--- a/arch/h8300/include/asm/unistd.h
+++ b/arch/h8300/include/asm/unistd.h
@@ -331,7 +331,6 @@
331 331
332#define NR_syscalls 321 332#define NR_syscalls 321
333 333
334#define __ARCH_WANT_IPC_PARSE_VERSION
335#define __ARCH_WANT_OLD_READDIR 334#define __ARCH_WANT_OLD_READDIR
336#define __ARCH_WANT_OLD_STAT 335#define __ARCH_WANT_OLD_STAT
337#define __ARCH_WANT_STAT64 336#define __ARCH_WANT_STAT64
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index b638d5bfa14d..49498bbb9616 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -7,6 +7,7 @@ config M32R
7 select HAVE_KERNEL_GZIP 7 select HAVE_KERNEL_GZIP
8 select HAVE_KERNEL_BZIP2 8 select HAVE_KERNEL_BZIP2
9 select HAVE_KERNEL_LZMA 9 select HAVE_KERNEL_LZMA
10 select ARCH_WANT_IPC_PARSE_VERSION
10 select HAVE_GENERIC_HARDIRQS 11 select HAVE_GENERIC_HARDIRQS
11 select GENERIC_IRQ_PROBE 12 select GENERIC_IRQ_PROBE
12 select GENERIC_IRQ_SHOW 13 select GENERIC_IRQ_SHOW
diff --git a/arch/m32r/include/asm/unistd.h b/arch/m32r/include/asm/unistd.h
index 3e1db561aacc..d5e66a480782 100644
--- a/arch/m32r/include/asm/unistd.h
+++ b/arch/m32r/include/asm/unistd.h
@@ -336,7 +336,6 @@
336 336
337#define NR_syscalls 326 337#define NR_syscalls 326
338 338
339#define __ARCH_WANT_IPC_PARSE_VERSION
340#define __ARCH_WANT_STAT64 339#define __ARCH_WANT_STAT64
341#define __ARCH_WANT_SYS_ALARM 340#define __ARCH_WANT_SYS_ALARM
342#define __ARCH_WANT_SYS_GETHOSTNAME 341#define __ARCH_WANT_SYS_GETHOSTNAME
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 147120128260..0b0f8b8c4a26 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -10,6 +10,7 @@ config M68K
10 select GENERIC_STRNCPY_FROM_USER if MMU 10 select GENERIC_STRNCPY_FROM_USER if MMU
11 select GENERIC_STRNLEN_USER if MMU 11 select GENERIC_STRNLEN_USER if MMU
12 select FPU if MMU 12 select FPU if MMU
13 select ARCH_WANT_IPC_PARSE_VERSION
13 select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE 14 select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE
14 15
15config RWSEM_GENERIC_SPINLOCK 16config RWSEM_GENERIC_SPINLOCK
diff --git a/arch/m68k/include/asm/unistd.h b/arch/m68k/include/asm/unistd.h
index ea0b502f845e..045cfd6a9e31 100644
--- a/arch/m68k/include/asm/unistd.h
+++ b/arch/m68k/include/asm/unistd.h
@@ -357,7 +357,6 @@
357 357
358#define NR_syscalls 347 358#define NR_syscalls 347
359 359
360#define __ARCH_WANT_IPC_PARSE_VERSION
361#define __ARCH_WANT_OLD_READDIR 360#define __ARCH_WANT_OLD_READDIR
362#define __ARCH_WANT_OLD_STAT 361#define __ARCH_WANT_OLD_STAT
363#define __ARCH_WANT_STAT64 362#define __ARCH_WANT_STAT64
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index 0bf44231aaf9..ab9afcaa7f6a 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -15,6 +15,7 @@ config MICROBLAZE
15 select TRACING_SUPPORT 15 select TRACING_SUPPORT
16 select OF 16 select OF
17 select OF_EARLY_FLATTREE 17 select OF_EARLY_FLATTREE
18 select ARCH_WANT_IPC_PARSE_VERSION
18 select IRQ_DOMAIN 19 select IRQ_DOMAIN
19 select HAVE_GENERIC_HARDIRQS 20 select HAVE_GENERIC_HARDIRQS
20 select GENERIC_IRQ_PROBE 21 select GENERIC_IRQ_PROBE
diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h
index d20ffbc86beb..6985e6e9d826 100644
--- a/arch/microblaze/include/asm/unistd.h
+++ b/arch/microblaze/include/asm/unistd.h
@@ -400,7 +400,6 @@
400#ifdef __KERNEL__ 400#ifdef __KERNEL__
401#ifndef __ASSEMBLY__ 401#ifndef __ASSEMBLY__
402 402
403#define __ARCH_WANT_IPC_PARSE_VERSION
404/* #define __ARCH_WANT_OLD_READDIR */ 403/* #define __ARCH_WANT_OLD_READDIR */
405/* #define __ARCH_WANT_OLD_STAT */ 404/* #define __ARCH_WANT_OLD_STAT */
406#define __ARCH_WANT_STAT64 405#define __ARCH_WANT_STAT64
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 5e238d03960d..2d56cd5af336 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -27,6 +27,7 @@ config MIPS
27 select GENERIC_IRQ_PROBE 27 select GENERIC_IRQ_PROBE
28 select GENERIC_IRQ_SHOW 28 select GENERIC_IRQ_SHOW
29 select HAVE_ARCH_JUMP_LABEL 29 select HAVE_ARCH_JUMP_LABEL
30 select ARCH_WANT_IPC_PARSE_VERSION
30 select IRQ_FORCED_THREADING 31 select IRQ_FORCED_THREADING
31 select HAVE_MEMBLOCK 32 select HAVE_MEMBLOCK
32 select HAVE_MEMBLOCK_NODE_MAP 33 select HAVE_MEMBLOCK_NODE_MAP
diff --git a/arch/mips/include/asm/unistd.h b/arch/mips/include/asm/unistd.h
index d8dad5340ea3..bebbde01be92 100644
--- a/arch/mips/include/asm/unistd.h
+++ b/arch/mips/include/asm/unistd.h
@@ -1034,7 +1034,6 @@
1034#ifndef __ASSEMBLY__ 1034#ifndef __ASSEMBLY__
1035 1035
1036#define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 1036#define __ARCH_OMIT_COMPAT_SYS_GETDENTS64
1037#define __ARCH_WANT_IPC_PARSE_VERSION
1038#define __ARCH_WANT_OLD_READDIR 1037#define __ARCH_WANT_OLD_READDIR
1039#define __ARCH_WANT_SYS_ALARM 1038#define __ARCH_WANT_SYS_ALARM
1040#define __ARCH_WANT_SYS_GETHOSTNAME 1039#define __ARCH_WANT_SYS_GETHOSTNAME
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
index 687f9b4a2ed6..5cfb086b3903 100644
--- a/arch/mn10300/Kconfig
+++ b/arch/mn10300/Kconfig
@@ -3,6 +3,7 @@ config MN10300
3 select HAVE_OPROFILE 3 select HAVE_OPROFILE
4 select HAVE_GENERIC_HARDIRQS 4 select HAVE_GENERIC_HARDIRQS
5 select GENERIC_IRQ_SHOW 5 select GENERIC_IRQ_SHOW
6 select ARCH_WANT_IPC_PARSE_VERSION
6 select HAVE_ARCH_TRACEHOOK 7 select HAVE_ARCH_TRACEHOOK
7 select HAVE_ARCH_KGDB 8 select HAVE_ARCH_KGDB
8 select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER 9 select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
diff --git a/arch/mn10300/include/asm/unistd.h b/arch/mn10300/include/asm/unistd.h
index 9051f921cbc7..866eb14749d7 100644
--- a/arch/mn10300/include/asm/unistd.h
+++ b/arch/mn10300/include/asm/unistd.h
@@ -358,7 +358,6 @@
358/* 358/*
359 * specify the deprecated syscalls we want to support on this arch 359 * specify the deprecated syscalls we want to support on this arch
360 */ 360 */
361#define __ARCH_WANT_IPC_PARSE_VERSION
362#define __ARCH_WANT_OLD_READDIR 361#define __ARCH_WANT_OLD_READDIR
363#define __ARCH_WANT_OLD_STAT 362#define __ARCH_WANT_OLD_STAT
364#define __ARCH_WANT_STAT64 363#define __ARCH_WANT_STAT64
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 4f681b78dd8b..352f416269ce 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -121,6 +121,7 @@ config PPC
121 select HAVE_REGS_AND_STACK_ACCESS_API 121 select HAVE_REGS_AND_STACK_ACCESS_API
122 select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64 122 select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64
123 select HAVE_GENERIC_HARDIRQS 123 select HAVE_GENERIC_HARDIRQS
124 select ARCH_WANT_IPC_PARSE_VERSION
124 select SPARSE_IRQ 125 select SPARSE_IRQ
125 select IRQ_PER_CPU 126 select IRQ_PER_CPU
126 select IRQ_DOMAIN 127 select IRQ_DOMAIN
diff --git a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
index d3d1b5efd7eb..bd377a368611 100644
--- a/arch/powerpc/include/asm/unistd.h
+++ b/arch/powerpc/include/asm/unistd.h
@@ -389,7 +389,6 @@
389#include <linux/compiler.h> 389#include <linux/compiler.h>
390#include <linux/linkage.h> 390#include <linux/linkage.h>
391 391
392#define __ARCH_WANT_IPC_PARSE_VERSION
393#define __ARCH_WANT_OLD_READDIR 392#define __ARCH_WANT_OLD_READDIR
394#define __ARCH_WANT_STAT64 393#define __ARCH_WANT_STAT64
395#define __ARCH_WANT_SYS_ALARM 394#define __ARCH_WANT_SYS_ALARM
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index d0a5e92b6b9e..296cd32466df 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -118,6 +118,7 @@ config S390
118 select ARCH_INLINE_WRITE_UNLOCK_BH 118 select ARCH_INLINE_WRITE_UNLOCK_BH
119 select ARCH_INLINE_WRITE_UNLOCK_IRQ 119 select ARCH_INLINE_WRITE_UNLOCK_IRQ
120 select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE 120 select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
121 select ARCH_WANT_IPC_PARSE_VERSION
121 select GENERIC_SMP_IDLE_THREAD 122 select GENERIC_SMP_IDLE_THREAD
122 select GENERIC_TIME_VSYSCALL 123 select GENERIC_TIME_VSYSCALL
123 select GENERIC_CLOCKEVENTS 124 select GENERIC_CLOCKEVENTS
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h
index 2e37157ba6a9..6756e78f4808 100644
--- a/arch/s390/include/asm/unistd.h
+++ b/arch/s390/include/asm/unistd.h
@@ -388,7 +388,6 @@
388#define __IGNORE_recvmmsg 388#define __IGNORE_recvmmsg
389#define __IGNORE_sendmmsg 389#define __IGNORE_sendmmsg
390 390
391#define __ARCH_WANT_IPC_PARSE_VERSION
392#define __ARCH_WANT_OLD_READDIR 391#define __ARCH_WANT_OLD_READDIR
393#define __ARCH_WANT_SYS_ALARM 392#define __ARCH_WANT_SYS_ALARM
394#define __ARCH_WANT_SYS_GETHOSTNAME 393#define __ARCH_WANT_SYS_GETHOSTNAME
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index a24595d83ad6..36f5141e8041 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -21,6 +21,7 @@ config SUPERH
21 select HAVE_KERNEL_LZMA 21 select HAVE_KERNEL_LZMA
22 select HAVE_KERNEL_XZ 22 select HAVE_KERNEL_XZ
23 select HAVE_KERNEL_LZO 23 select HAVE_KERNEL_LZO
24 select ARCH_WANT_IPC_PARSE_VERSION
24 select HAVE_SYSCALL_TRACEPOINTS 25 select HAVE_SYSCALL_TRACEPOINTS
25 select HAVE_REGS_AND_STACK_ACCESS_API 26 select HAVE_REGS_AND_STACK_ACCESS_API
26 select HAVE_GENERIC_HARDIRQS 27 select HAVE_GENERIC_HARDIRQS
@@ -50,6 +51,7 @@ config SUPERH32
50 select HAVE_DYNAMIC_FTRACE 51 select HAVE_DYNAMIC_FTRACE
51 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 52 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
52 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE 53 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
54 select ARCH_WANT_IPC_PARSE_VERSION
53 select HAVE_FUNCTION_GRAPH_TRACER 55 select HAVE_FUNCTION_GRAPH_TRACER
54 select HAVE_ARCH_KGDB 56 select HAVE_ARCH_KGDB
55 select HAVE_HW_BREAKPOINT 57 select HAVE_HW_BREAKPOINT
diff --git a/arch/sh/include/asm/unistd.h b/arch/sh/include/asm/unistd.h
index e800a38c9f8d..7bc67076baac 100644
--- a/arch/sh/include/asm/unistd.h
+++ b/arch/sh/include/asm/unistd.h
@@ -6,7 +6,6 @@
6# endif 6# endif
7 7
8# define __ARCH_WANT_SYS_RT_SIGSUSPEND 8# define __ARCH_WANT_SYS_RT_SIGSUSPEND
9# define __ARCH_WANT_IPC_PARSE_VERSION
10# define __ARCH_WANT_OLD_READDIR 9# define __ARCH_WANT_OLD_READDIR
11# define __ARCH_WANT_OLD_STAT 10# define __ARCH_WANT_OLD_STAT
12# define __ARCH_WANT_STAT64 11# define __ARCH_WANT_STAT64
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index e74ff1377626..67f1f6f5f4e1 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -27,6 +27,7 @@ config SPARC
27 select HAVE_ARCH_JUMP_LABEL 27 select HAVE_ARCH_JUMP_LABEL
28 select HAVE_GENERIC_HARDIRQS 28 select HAVE_GENERIC_HARDIRQS
29 select GENERIC_IRQ_SHOW 29 select GENERIC_IRQ_SHOW
30 select ARCH_WANT_IPC_PARSE_VERSION
30 select USE_GENERIC_SMP_HELPERS if SMP 31 select USE_GENERIC_SMP_HELPERS if SMP
31 select GENERIC_PCI_IOMAP 32 select GENERIC_PCI_IOMAP
32 select HAVE_NMI_WATCHDOG if SPARC64 33 select HAVE_NMI_WATCHDOG if SPARC64
diff --git a/arch/sparc/include/asm/unistd.h b/arch/sparc/include/asm/unistd.h
index c7cb0af0eb59..fb2693464807 100644
--- a/arch/sparc/include/asm/unistd.h
+++ b/arch/sparc/include/asm/unistd.h
@@ -423,7 +423,6 @@
423#endif 423#endif
424 424
425#ifdef __KERNEL__ 425#ifdef __KERNEL__
426#define __ARCH_WANT_IPC_PARSE_VERSION
427#define __ARCH_WANT_OLD_READDIR 426#define __ARCH_WANT_OLD_READDIR
428#define __ARCH_WANT_STAT64 427#define __ARCH_WANT_STAT64
429#define __ARCH_WANT_SYS_ALARM 428#define __ARCH_WANT_SYS_ALARM
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ca4fdefe79e6..ba2657c49217 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -85,6 +85,7 @@ config X86
85 select GENERIC_IOMAP 85 select GENERIC_IOMAP
86 select DCACHE_WORD_ACCESS 86 select DCACHE_WORD_ACCESS
87 select GENERIC_SMP_IDLE_THREAD 87 select GENERIC_SMP_IDLE_THREAD
88 select ARCH_WANT_IPC_PARSE_VERSION if X86_32
88 select HAVE_ARCH_SECCOMP_FILTER 89 select HAVE_ARCH_SECCOMP_FILTER
89 select BUILDTIME_EXTABLE_SORT 90 select BUILDTIME_EXTABLE_SORT
90 select GENERIC_CMOS_UPDATE 91 select GENERIC_CMOS_UPDATE
diff --git a/arch/x86/include/asm/unistd.h b/arch/x86/include/asm/unistd.h
index 4437001d8e3d..0d9776e9e2dc 100644
--- a/arch/x86/include/asm/unistd.h
+++ b/arch/x86/include/asm/unistd.h
@@ -15,7 +15,6 @@
15# ifdef CONFIG_X86_32 15# ifdef CONFIG_X86_32
16 16
17# include <asm/unistd_32.h> 17# include <asm/unistd_32.h>
18# define __ARCH_WANT_IPC_PARSE_VERSION
19# define __ARCH_WANT_STAT64 18# define __ARCH_WANT_STAT64
20# define __ARCH_WANT_SYS_IPC 19# define __ARCH_WANT_SYS_IPC
21# define __ARCH_WANT_SYS_OLD_MMAP 20# define __ARCH_WANT_SYS_OLD_MMAP
diff --git a/include/linux/compat.h b/include/linux/compat.h
index f2b8fe20cc8e..09b28b7369d7 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -256,7 +256,6 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
256 compat_size_t __user *len_ptr); 256 compat_size_t __user *len_ptr);
257 257
258#ifdef CONFIG_ARCH_WANT_OLD_COMPAT_IPC 258#ifdef CONFIG_ARCH_WANT_OLD_COMPAT_IPC
259#define __ARCH_WANT_COMPAT_IPC_PARSE_VERSION
260long compat_sys_semctl(int first, int second, int third, void __user *uptr); 259long compat_sys_semctl(int first, int second, int third, void __user *uptr);
261long compat_sys_msgsnd(int first, int second, int third, void __user *uptr); 260long compat_sys_msgsnd(int first, int second, int third, void __user *uptr);
262long compat_sys_msgrcv(int first, int second, int msgtyp, int third, 261long compat_sys_msgrcv(int first, int second, int msgtyp, int third,
diff --git a/ipc/compat.c b/ipc/compat.c
index 20f92b2f2932..ad9518eb26e0 100644
--- a/ipc/compat.c
+++ b/ipc/compat.c
@@ -118,7 +118,7 @@ extern int sem_ctls[];
118 118
119static inline int compat_ipc_parse_version(int *cmd) 119static inline int compat_ipc_parse_version(int *cmd)
120{ 120{
121#ifdef __ARCH_WANT_COMPAT_IPC_PARSE_VERSION 121#ifdef CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION
122 int version = *cmd & IPC_64; 122 int version = *cmd & IPC_64;
123 123
124 /* this is tricky: architectures that have support for the old 124 /* this is tricky: architectures that have support for the old
diff --git a/ipc/util.c b/ipc/util.c
index 75261a31d48d..eb07fd356f27 100644
--- a/ipc/util.c
+++ b/ipc/util.c
@@ -804,7 +804,7 @@ out_up:
804 return ERR_PTR(err); 804 return ERR_PTR(err);
805} 805}
806 806
807#ifdef __ARCH_WANT_IPC_PARSE_VERSION 807#ifdef CONFIG_ARCH_WANT_IPC_PARSE_VERSION
808 808
809 809
810/** 810/**
@@ -826,7 +826,7 @@ int ipc_parse_version (int *cmd)
826 } 826 }
827} 827}
828 828
829#endif /* __ARCH_WANT_IPC_PARSE_VERSION */ 829#endif /* CONFIG_ARCH_WANT_IPC_PARSE_VERSION */
830 830
831#ifdef CONFIG_PROC_FS 831#ifdef CONFIG_PROC_FS
832struct ipc_proc_iter { 832struct ipc_proc_iter {
diff --git a/ipc/util.h b/ipc/util.h
index 6f5c20bedaab..850ef3e962cb 100644
--- a/ipc/util.h
+++ b/ipc/util.h
@@ -130,7 +130,7 @@ struct kern_ipc_perm *ipcctl_pre_down(struct ipc_namespace *ns,
130 struct ipc_ids *ids, int id, int cmd, 130 struct ipc_ids *ids, int id, int cmd,
131 struct ipc64_perm *perm, int extra_perm); 131 struct ipc64_perm *perm, int extra_perm);
132 132
133#ifndef __ARCH_WANT_IPC_PARSE_VERSION 133#ifndef CONFIG_ARCH_WANT_IPC_PARSE_VERSION
134 /* On IA-64, we always use the "64-bit version" of the IPC structures. */ 134 /* On IA-64, we always use the "64-bit version" of the IPC structures. */
135# define ipc_parse_version(cmd) IPC_64 135# define ipc_parse_version(cmd) IPC_64
136#else 136#else