Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86/kconfig: Reorganize arch feature Kconfig select's

Peter Zijstra noticed that in arch/x86/Kconfig there are a lot
of X86_{32,64} clauses in the X86 symbol, plus there are a number
of similar selects in the X86_32 and X86_64 config definitions
as well - which all overlap in an inconsistent mess.

So:

- move all select's from X86_32 and X86_64 to the X64 config
option

- sort their names, so that duplications are easier to spot

- align their if clauses, so that they are easier to identify
at a glance - and so that weirdnesses stand out more

No change in functionality:

105 insertions(+)
105 deletions(-)

Originally-from: Peter Zijlstra <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20150602153027.GU3644@twins.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>

+107 -107
+107 -107
arch/x86/Kconfig
··· 9 9 config X86_32 10 10 def_bool y 11 11 depends on !64BIT 12 - select CLKSRC_I8253 13 - select HAVE_UID16 14 12 15 13 config X86_64 16 14 def_bool y 17 15 depends on 64BIT 18 - select X86_DEV_DMA_OPS 19 - select ARCH_USE_CMPXCHG_LOCKREF 20 - select HAVE_LIVEPATCH 21 16 22 17 ### Arch settings 23 18 config X86 24 19 def_bool y 25 - select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI 26 - select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI 20 + select ACPI_LEGACY_TABLES_LOOKUP if ACPI 21 + select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI 22 + select ANON_INODES 23 + select ARCH_CLOCKSOURCE_DATA 24 + select ARCH_DISCARD_MEMBLOCK 25 + select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 27 26 select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS 27 + select ARCH_HAS_ELF_RANDOMIZE 28 28 select ARCH_HAS_FAST_MULTIPLIER 29 29 select ARCH_HAS_GCOV_PROFILE_ALL 30 + select ARCH_HAS_SG_CHAIN 31 + select ARCH_HAVE_NMI_SAFE_CMPXCHG 32 + select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI 30 33 select ARCH_MIGHT_HAVE_PC_PARPORT 31 34 select ARCH_MIGHT_HAVE_PC_SERIO 32 - select HAVE_AOUT if X86_32 33 - select HAVE_UNSTABLE_SCHED_CLOCK 34 - select ARCH_SUPPORTS_NUMA_BALANCING if X86_64 35 - select ARCH_SUPPORTS_INT128 if X86_64 36 - select HAVE_IDE 37 - select HAVE_OPROFILE 38 - select HAVE_PCSPKR_PLATFORM 39 - select HAVE_PERF_EVENTS 40 - select HAVE_IOREMAP_PROT 41 - select HAVE_KPROBES 42 - select HAVE_MEMBLOCK 43 - select HAVE_MEMBLOCK_NODE_MAP 44 - select ARCH_DISCARD_MEMBLOCK 45 - select ARCH_WANT_OPTIONAL_GPIOLIB 35 + select ARCH_SUPPORTS_ATOMIC_RMW 36 + select ARCH_SUPPORTS_INT128 if X86_64 37 + select ARCH_SUPPORTS_NUMA_BALANCING if X86_64 38 + select ARCH_USE_BUILTIN_BSWAP 39 + select ARCH_USE_CMPXCHG_LOCKREF if X86_64 40 + select ARCH_USE_QUEUED_RWLOCKS 41 + select ARCH_USE_QUEUED_SPINLOCKS 46 42 select ARCH_WANT_FRAME_POINTERS 43 + select ARCH_WANT_IPC_PARSE_VERSION if X86_32 44 + select ARCH_WANT_OPTIONAL_GPIOLIB 45 + select BUILDTIME_EXTABLE_SORT 46 + select CLKEVT_I8253 47 + select CLKSRC_I8253 if X86_32 48 + select CLOCKSOURCE_VALIDATE_LAST_CYCLE 49 + select CLOCKSOURCE_WATCHDOG 50 + select CLONE_BACKWARDS if X86_32 51 + select COMPAT_OLD_SIGACTION if IA32_EMULATION 52 + select DCACHE_WORD_ACCESS 53 + select GENERIC_CLOCKEVENTS 54 + select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC) 55 + select GENERIC_CLOCKEVENTS_MIN_ADJUST 56 + select GENERIC_CMOS_UPDATE 57 + select GENERIC_CPU_AUTOPROBE 58 + select GENERIC_EARLY_IOREMAP 59 + select GENERIC_FIND_FIRST_BIT 60 + select GENERIC_IOMAP 61 + select GENERIC_IRQ_PROBE 62 + select GENERIC_IRQ_SHOW 63 + select GENERIC_PENDING_IRQ if SMP 64 + select GENERIC_SMP_IDLE_THREAD 65 + select GENERIC_STRNCPY_FROM_USER 66 + select GENERIC_STRNLEN_USER 67 + select GENERIC_TIME_VSYSCALL 68 + select HAVE_ACPI_APEI if ACPI 69 + select HAVE_ACPI_APEI_NMI if ACPI 70 + select HAVE_ALIGNED_STRUCT_PAGE if SLUB 71 + select HAVE_AOUT if X86_32 72 + select HAVE_ARCH_AUDITSYSCALL 73 + select HAVE_ARCH_HUGE_VMAP if X86_64 || X86_PAE 74 + select HAVE_ARCH_JUMP_LABEL 75 + select HAVE_ARCH_KASAN if X86_64 && SPARSEMEM_VMEMMAP 76 + select HAVE_ARCH_KGDB 77 + select HAVE_ARCH_KMEMCHECK 78 + select HAVE_ARCH_SECCOMP_FILTER 79 + select HAVE_ARCH_SOFT_DIRTY if X86_64 80 + select HAVE_ARCH_TRACEHOOK 81 + select HAVE_ARCH_TRANSPARENT_HUGEPAGE 82 + select HAVE_BPF_JIT if X86_64 83 + select HAVE_CC_STACKPROTECTOR 84 + select HAVE_CMPXCHG_DOUBLE 85 + select HAVE_CMPXCHG_LOCAL 86 + select HAVE_CONTEXT_TRACKING if X86_64 87 + select HAVE_C_RECORDMCOUNT 88 + select HAVE_DEBUG_KMEMLEAK 89 + select HAVE_DEBUG_STACKOVERFLOW 90 + select HAVE_DMA_API_DEBUG 47 91 select HAVE_DMA_ATTRS 48 92 select HAVE_DMA_CONTIGUOUS 49 - select HAVE_KRETPROBES 50 - select GENERIC_EARLY_IOREMAP 51 - select HAVE_OPTPROBES 52 - select HAVE_KPROBES_ON_FTRACE 53 - select HAVE_FTRACE_MCOUNT_RECORD 54 - select HAVE_FENTRY if X86_64 55 - select HAVE_C_RECORDMCOUNT 56 93 select HAVE_DYNAMIC_FTRACE 57 94 select HAVE_DYNAMIC_FTRACE_WITH_REGS 58 - select HAVE_FUNCTION_TRACER 59 - select HAVE_FUNCTION_GRAPH_TRACER 60 - select HAVE_FUNCTION_GRAPH_FP_TEST 61 - select HAVE_SYSCALL_TRACEPOINTS 62 - select SYSCTL_EXCEPTION_TRACE 63 - select HAVE_KVM 64 - select HAVE_ARCH_KGDB 65 - select HAVE_ARCH_TRACEHOOK 66 - select HAVE_GENERIC_DMA_COHERENT if X86_32 67 95 select HAVE_EFFICIENT_UNALIGNED_ACCESS 68 - select USER_STACKTRACE_SUPPORT 69 - select HAVE_REGS_AND_STACK_ACCESS_API 70 - select HAVE_DMA_API_DEBUG 71 - select HAVE_KERNEL_GZIP 72 - select HAVE_KERNEL_BZIP2 73 - select HAVE_KERNEL_LZMA 74 - select HAVE_KERNEL_XZ 75 - select HAVE_KERNEL_LZO 76 - select HAVE_KERNEL_LZ4 96 + select HAVE_FENTRY if X86_64 97 + select HAVE_FTRACE_MCOUNT_RECORD 98 + select HAVE_FUNCTION_GRAPH_FP_TEST 99 + select HAVE_FUNCTION_GRAPH_TRACER 100 + select HAVE_FUNCTION_TRACER 101 + select HAVE_GENERIC_DMA_COHERENT if X86_32 77 102 select HAVE_HW_BREAKPOINT 103 + select HAVE_IDE 104 + select HAVE_IOREMAP_PROT 105 + select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64 106 + select HAVE_IRQ_TIME_ACCOUNTING 107 + select HAVE_KERNEL_BZIP2 108 + select HAVE_KERNEL_GZIP 109 + select HAVE_KERNEL_LZ4 110 + select HAVE_KERNEL_LZMA 111 + select HAVE_KERNEL_LZO 112 + select HAVE_KERNEL_XZ 113 + select HAVE_KPROBES 114 + select HAVE_KPROBES_ON_FTRACE 115 + select HAVE_KRETPROBES 116 + select HAVE_KVM 117 + select HAVE_LIVEPATCH if X86_64 118 + select HAVE_MEMBLOCK 119 + select HAVE_MEMBLOCK_NODE_MAP 78 120 select HAVE_MIXED_BREAKPOINTS_REGS 79 - select PERF_EVENTS 121 + select HAVE_OPROFILE 122 + select HAVE_OPTPROBES 123 + select HAVE_PCSPKR_PLATFORM 124 + select HAVE_PERF_EVENTS 80 125 select HAVE_PERF_EVENTS_NMI 81 126 select HAVE_PERF_REGS 82 127 select HAVE_PERF_USER_STACK_DUMP 83 - select HAVE_DEBUG_KMEMLEAK 84 - select ANON_INODES 85 - select HAVE_ALIGNED_STRUCT_PAGE if SLUB 86 - select HAVE_CMPXCHG_LOCAL 87 - select HAVE_CMPXCHG_DOUBLE 88 - select HAVE_ARCH_KMEMCHECK 89 - select HAVE_ARCH_KASAN if X86_64 && SPARSEMEM_VMEMMAP 128 + select HAVE_REGS_AND_STACK_ACCESS_API 129 + select HAVE_SYSCALL_TRACEPOINTS 130 + select HAVE_UID16 if X86_32 131 + select HAVE_UNSTABLE_SCHED_CLOCK 90 132 select HAVE_USER_RETURN_NOTIFIER 91 - select ARCH_HAS_ELF_RANDOMIZE 92 - select HAVE_ARCH_JUMP_LABEL 93 - select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 94 - select SPARSE_IRQ 95 - select GENERIC_FIND_FIRST_BIT 96 - select GENERIC_IRQ_PROBE 97 - select GENERIC_PENDING_IRQ if SMP 98 - select GENERIC_IRQ_SHOW 99 - select GENERIC_CLOCKEVENTS_MIN_ADJUST 100 133 select IRQ_FORCED_THREADING 101 - select HAVE_BPF_JIT if X86_64 102 - select HAVE_ARCH_TRANSPARENT_HUGEPAGE 103 - select HAVE_ARCH_HUGE_VMAP if X86_64 || X86_PAE 104 - select ARCH_HAS_SG_CHAIN 105 - select CLKEVT_I8253 106 - select ARCH_HAVE_NMI_SAFE_CMPXCHG 107 - select GENERIC_IOMAP 108 - select DCACHE_WORD_ACCESS 109 - select GENERIC_SMP_IDLE_THREAD 110 - select ARCH_WANT_IPC_PARSE_VERSION if X86_32 111 - select HAVE_ARCH_SECCOMP_FILTER 112 - select BUILDTIME_EXTABLE_SORT 113 - select GENERIC_CMOS_UPDATE 114 - select HAVE_ARCH_SOFT_DIRTY if X86_64 115 - select CLOCKSOURCE_WATCHDOG 116 - select GENERIC_CLOCKEVENTS 117 - select ARCH_CLOCKSOURCE_DATA 118 - select CLOCKSOURCE_VALIDATE_LAST_CYCLE 119 - select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC) 120 - select GENERIC_TIME_VSYSCALL 121 - select GENERIC_STRNCPY_FROM_USER 122 - select GENERIC_STRNLEN_USER 123 - select HAVE_CONTEXT_TRACKING if X86_64 124 - select HAVE_IRQ_TIME_ACCOUNTING 125 - select VIRT_TO_BUS 126 - select MODULES_USE_ELF_REL if X86_32 127 - select MODULES_USE_ELF_RELA if X86_64 128 - select CLONE_BACKWARDS if X86_32 129 - select ARCH_USE_BUILTIN_BSWAP 130 - select ARCH_USE_QUEUED_SPINLOCKS 131 - select ARCH_USE_QUEUED_RWLOCKS 132 - select OLD_SIGSUSPEND3 if X86_32 || IA32_EMULATION 133 - select OLD_SIGACTION if X86_32 134 - select COMPAT_OLD_SIGACTION if IA32_EMULATION 134 + select MODULES_USE_ELF_RELA if X86_64 135 + select MODULES_USE_ELF_REL if X86_32 136 + select OLD_SIGACTION if X86_32 137 + select OLD_SIGSUSPEND3 if X86_32 || IA32_EMULATION 138 + select PERF_EVENTS 135 139 select RTC_LIB 136 - select HAVE_DEBUG_STACKOVERFLOW 137 - select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64 138 - select HAVE_CC_STACKPROTECTOR 139 - select GENERIC_CPU_AUTOPROBE 140 - select HAVE_ARCH_AUDITSYSCALL 141 - select ARCH_SUPPORTS_ATOMIC_RMW 142 - select HAVE_ACPI_APEI if ACPI 143 - select HAVE_ACPI_APEI_NMI if ACPI 144 - select ACPI_LEGACY_TABLES_LOOKUP if ACPI 145 - select X86_FEATURE_NAMES if PROC_FS 140 + select SPARSE_IRQ 146 141 select SRCU 142 + select SYSCTL_EXCEPTION_TRACE 143 + select USER_STACKTRACE_SUPPORT 144 + select VIRT_TO_BUS 145 + select X86_DEV_DMA_OPS if X86_64 146 + select X86_FEATURE_NAMES if PROC_FS 147 147 148 148 config INSTRUCTION_DECODER 149 149 def_bool y