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

Finally eradicate CONFIG_HOTPLUG

Ever since commit 45f035ab9b8f ("CONFIG_HOTPLUG should be always on"),
it has been basically impossible to build a kernel with CONFIG_HOTPLUG
turned off. Remove all the remaining references to it.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Doug Thompson <dougthompson@xmission.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Stephen Rothwell and committed by
Greg Kroah-Hartman
40b31360 af5bc11e

+22 -75
+1 -4
Documentation/ABI/testing/sysfs-bus-pci
··· 64 64 Writing a non-zero value to this attribute will 65 65 force a rescan of all PCI buses in the system, and 66 66 re-discover previously removed devices. 67 - Depends on CONFIG_HOTPLUG. 68 67 69 68 What: /sys/bus/pci/devices/.../msi_irqs/ 70 69 Date: September, 2011 ··· 89 90 Description: 90 91 Writing a non-zero value to this attribute will 91 92 hot-remove the PCI device and any of its children. 92 - Depends on CONFIG_HOTPLUG. 93 93 94 94 What: /sys/bus/pci/devices/.../pci_bus/.../rescan 95 95 Date: May 2011 ··· 97 99 Writing a non-zero value to this attribute will 98 100 force a rescan of the bus and all child buses, 99 101 and re-discover devices removed earlier from this 100 - part of the device tree. Depends on CONFIG_HOTPLUG. 102 + part of the device tree. 101 103 102 104 What: /sys/bus/pci/devices/.../rescan 103 105 Date: January 2009 ··· 107 109 force a rescan of the device's parent bus and all 108 110 child buses, and re-discover devices removed earlier 109 111 from this part of the device tree. 110 - Depends on CONFIG_HOTPLUG. 111 112 112 113 What: /sys/bus/pci/devices/.../reset 113 114 Date: July 2009
+1 -1
Documentation/SubmitChecklist
··· 105 105 same time, just various/random combinations of them]: 106 106 107 107 CONFIG_SMP, CONFIG_SYSFS, CONFIG_PROC_FS, CONFIG_INPUT, CONFIG_PCI, 108 - CONFIG_BLOCK, CONFIG_PM, CONFIG_HOTPLUG, CONFIG_MAGIC_SYSRQ, 108 + CONFIG_BLOCK, CONFIG_PM, CONFIG_MAGIC_SYSRQ, 109 109 CONFIG_NET, CONFIG_INET=n (but latter with CONFIG_NET=y)
+1 -1
Documentation/cpu-hotplug.txt
··· 128 128 129 129 "Processor type and Features" -> Support for Hotpluggable CPUs 130 130 131 - Make sure that you have CONFIG_HOTPLUG, and CONFIG_SMP turned on as well. 131 + Make sure that you have CONFIG_SMP turned on as well. 132 132 133 133 You would need to enable CONFIG_HOTPLUG_CPU for SMP suspend/resume support 134 134 as well.
+1 -2
Documentation/hwmon/submitting-patches
··· 27 27 explicitly below the patch header. 28 28 29 29 * If your patch (or the driver) is affected by configuration options such as 30 - CONFIG_SMP or CONFIG_HOTPLUG, make sure it compiles for all configuration 31 - variants. 30 + CONFIG_SMP, make sure it compiles for all configuration variants. 32 31 33 32 34 33 2. Adding functionality to existing drivers
+1 -1
Documentation/kbuild/kconfig.txt
··· 165 165 Example: 166 166 /hotplug 167 167 This lists all config symbols that contain "hotplug", 168 - e.g., HOTPLUG, HOTPLUG_CPU, MEMORY_HOTPLUG. 168 + e.g., HOTPLUG_CPU, MEMORY_HOTPLUG. 169 169 170 170 For search help, enter / followed TAB-TAB-TAB (to highlight 171 171 <Help>) and Enter. This will tell you that you can also use
+3 -3
Documentation/usb/hotplug.txt
··· 33 33 34 34 KERNEL HOTPLUG HELPER (/sbin/hotplug) 35 35 36 - When you compile with CONFIG_HOTPLUG, you get a new kernel parameter: 37 - /proc/sys/kernel/hotplug, which normally holds the pathname "/sbin/hotplug". 38 - That parameter names a program which the kernel may invoke at various times. 36 + There is a kernel parameter: /proc/sys/kernel/hotplug, which normally 37 + holds the pathname "/sbin/hotplug". That parameter names a program 38 + which the kernel may invoke at various times. 39 39 40 40 The /sbin/hotplug program can be invoked by any subsystem as part of its 41 41 reaction to a configuration change, from a thread in that subsystem.
+1 -1
arch/arm/Kconfig
··· 1528 1528 1529 1529 config HOTPLUG_CPU 1530 1530 bool "Support for hot-pluggable CPUs" 1531 - depends on SMP && HOTPLUG 1531 + depends on SMP 1532 1532 help 1533 1533 Say Y here to experiment with turning CPUs off and on. CPUs 1534 1534 can be controlled through /sys/devices/system/cpu.
-8
arch/arm/kernel/module.c
··· 288 288 289 289 if (strcmp(".ARM.exidx.init.text", secname) == 0) 290 290 maps[ARM_SEC_INIT].unw_sec = s; 291 - else if (strcmp(".ARM.exidx.devinit.text", secname) == 0) 292 - maps[ARM_SEC_DEVINIT].unw_sec = s; 293 291 else if (strcmp(".ARM.exidx", secname) == 0) 294 292 maps[ARM_SEC_CORE].unw_sec = s; 295 293 else if (strcmp(".ARM.exidx.exit.text", secname) == 0) 296 294 maps[ARM_SEC_EXIT].unw_sec = s; 297 - else if (strcmp(".ARM.exidx.devexit.text", secname) == 0) 298 - maps[ARM_SEC_DEVEXIT].unw_sec = s; 299 295 else if (strcmp(".init.text", secname) == 0) 300 296 maps[ARM_SEC_INIT].txt_sec = s; 301 - else if (strcmp(".devinit.text", secname) == 0) 302 - maps[ARM_SEC_DEVINIT].txt_sec = s; 303 297 else if (strcmp(".text", secname) == 0) 304 298 maps[ARM_SEC_CORE].txt_sec = s; 305 299 else if (strcmp(".exit.text", secname) == 0) 306 300 maps[ARM_SEC_EXIT].txt_sec = s; 307 - else if (strcmp(".devexit.text", secname) == 0) 308 - maps[ARM_SEC_DEVEXIT].txt_sec = s; 309 301 } 310 302 311 303 for (i = 0; i < ARM_SEC_MAX; i++)
-4
arch/arm/kernel/vmlinux.lds.S
··· 70 70 ARM_EXIT_DISCARD(EXIT_TEXT) 71 71 ARM_EXIT_DISCARD(EXIT_DATA) 72 72 EXIT_CALL 73 - #ifndef CONFIG_HOTPLUG 74 - *(.ARM.exidx.devexit.text) 75 - *(.ARM.extab.devexit.text) 76 - #endif 77 73 #ifndef CONFIG_MMU 78 74 *(.fixup) 79 75 *(__ex_table)
-1
arch/arm/mach-ixp4xx/Kconfig
··· 235 235 config IXP4XX_NPE 236 236 tristate "IXP4xx Network Processor Engine support" 237 237 select FW_LOADER 238 - select HOTPLUG 239 238 help 240 239 This driver supports IXP4xx built-in network coprocessors 241 240 and is automatically selected by Ethernet and HSS drivers.
+1 -1
arch/blackfin/Kconfig
··· 253 253 254 254 config HOTPLUG_CPU 255 255 bool "Support for hot-pluggable CPUs" 256 - depends on SMP && HOTPLUG 256 + depends on SMP 257 257 default y 258 258 259 259 config BF_REV_MIN
-1
arch/cris/arch-v32/drivers/Kconfig
··· 617 617 config ETRAX_CARDBUS 618 618 bool "Cardbus support" 619 619 depends on ETRAX_ARCH_V32 620 - select HOTPLUG 621 620 help 622 621 Enabled the ETRAX Cardbus driver. 623 622
-1
arch/ia64/Kconfig
··· 376 376 config HOTPLUG_CPU 377 377 bool "Support for hot-pluggable CPUs" 378 378 depends on SMP 379 - select HOTPLUG 380 379 default n 381 380 ---help--- 382 381 Say Y here to experiment with turning CPUs off and on. CPUs
+1 -1
arch/mips/Kconfig
··· 962 962 963 963 config HOTPLUG_CPU 964 964 bool "Support for hot-pluggable CPUs" 965 - depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU 965 + depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU 966 966 help 967 967 Say Y here to allow turning CPUs off and on. CPUs can be 968 968 controlled through /sys/devices/system/cpu.
-1
arch/parisc/Kconfig
··· 254 254 config HOTPLUG_CPU 255 255 bool 256 256 default y if SMP 257 - select HOTPLUG 258 257 259 258 config ARCH_SELECT_MEMORY_MODEL 260 259 def_bool y
+1 -1
arch/powerpc/Kconfig
··· 341 341 342 342 config HOTPLUG_CPU 343 343 bool "Support for enabling/disabling CPUs" 344 - depends on SMP && HOTPLUG && (PPC_PSERIES || \ 344 + depends on SMP && (PPC_PSERIES || \ 345 345 PPC_PMAC || PPC_POWERNV || (PPC_85xx && !PPC_E500MC)) 346 346 ---help--- 347 347 Say Y here to be able to disable and re-enable individual
+2 -2
arch/powerpc/mm/tlb_hash64.c
··· 183 183 * since 64K pages may overlap with other bridges when using 64K pages 184 184 * with 4K HW pages on IO space. 185 185 * 186 - * Because of that usage pattern, it's only available with CONFIG_HOTPLUG 187 - * and is implemented for small size rather than speed. 186 + * Because of that usage pattern, it is implemented for small size rather 187 + * than speed. 188 188 */ 189 189 void __flush_hash_table_range(struct mm_struct *mm, unsigned long start, 190 190 unsigned long end)
-1
arch/s390/Kconfig
··· 301 301 def_bool y 302 302 prompt "Support for hot-pluggable CPUs" 303 303 depends on SMP 304 - select HOTPLUG 305 304 help 306 305 Say Y here to be able to turn CPUs off and on. CPUs 307 306 can be controlled through /sys/devices/system/cpu/cpu#.
+1 -1
arch/sh/Kconfig
··· 748 748 749 749 config HOTPLUG_CPU 750 750 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 751 - depends on SMP && HOTPLUG 751 + depends on SMP 752 752 help 753 753 Say Y here to experiment with turning CPUs off and on. CPUs 754 754 can be controlled through /sys/devices/system/cpu.
-1
arch/sparc/Kconfig
··· 243 243 config HOTPLUG_CPU 244 244 bool "Support for hot-pluggable CPUs" 245 245 depends on SPARC64 && SMP 246 - select HOTPLUG 247 246 help 248 247 Say Y here to experiment with turning CPUs off and on. CPUs 249 248 can be controlled through /sys/devices/system/cpu/cpu#.
+1 -1
arch/x86/Kconfig
··· 1725 1725 1726 1726 config HOTPLUG_CPU 1727 1727 bool "Support for hot-pluggable CPUs" 1728 - depends on SMP && HOTPLUG 1728 + depends on SMP 1729 1729 ---help--- 1730 1730 Say Y here to allow turning CPUs off and on. CPUs can be 1731 1731 controlled through /sys/devices/system/cpu.
-2
drivers/base/Kconfig
··· 2 2 3 3 config UEVENT_HELPER_PATH 4 4 string "path to uevent helper" 5 - depends on HOTPLUG 6 5 default "" 7 6 help 8 7 Path to uevent helper program forked by the kernel for ··· 22 23 23 24 config DEVTMPFS 24 25 bool "Maintain a devtmpfs filesystem to mount at /dev" 25 - depends on HOTPLUG 26 26 help 27 27 This creates a tmpfs/ramfs filesystem instance early at bootup. 28 28 In this filesystem, the kernel driver core maintains device
+1 -1
drivers/char/pcmcia/Kconfig
··· 3 3 # 4 4 5 5 menu "PCMCIA character devices" 6 - depends on HOTPLUG && PCMCIA!=n 6 + depends on PCMCIA!=n 7 7 8 8 config SYNCLINK_CS 9 9 tristate "SyncLink PC Card support"
+1 -1
drivers/edac/Kconfig
··· 145 145 146 146 config EDAC_E752X 147 147 tristate "Intel e752x (e7520, e7525, e7320) and 3100" 148 - depends on EDAC_MM_EDAC && PCI && X86 && HOTPLUG 148 + depends on EDAC_MM_EDAC && PCI && X86 149 149 help 150 150 Support for error detection and correction on the Intel 151 151 E7520, E7525, E7320 server chipsets.
-2
drivers/pci/Kconfig
··· 55 55 config XEN_PCIDEV_FRONTEND 56 56 tristate "Xen PCI Frontend" 57 57 depends on PCI && X86 && XEN 58 - select HOTPLUG 59 58 select PCI_XEN 60 59 select XEN_XENBUS_FRONTEND 61 60 default y ··· 112 113 tristate "PCI IO-APIC hotplug support" if X86 113 114 depends on PCI 114 115 depends on ACPI 115 - depends on HOTPLUG 116 116 default !X86 117 117 118 118 config PCI_LABEL
+1 -1
drivers/pci/hotplug/Kconfig
··· 4 4 5 5 menuconfig HOTPLUG_PCI 6 6 tristate "Support for PCI Hotplug" 7 - depends on PCI && HOTPLUG && SYSFS 7 + depends on PCI && SYSFS 8 8 ---help--- 9 9 Say Y here if you have a motherboard with a PCI Hotplug controller. 10 10 This allows you to add and remove PCI cards while the machine is
-1
drivers/pcmcia/Kconfig
··· 4 4 5 5 menuconfig PCCARD 6 6 tristate "PCCard (PCMCIA/CardBus) support" 7 - depends on HOTPLUG 8 7 ---help--- 9 8 Say Y here if you want to attach PCMCIA- or PC-cards to your Linux 10 9 computer. These are credit-card size devices such as network cards,
-1
drivers/staging/media/go7007/go7007.txt
··· 78 78 for custom-built kernels, the following options need to be enabled in the 79 79 kernel as built-in or modules: 80 80 81 - CONFIG_HOTPLUG - Support for hot-pluggable devices 82 81 CONFIG_MODULES - Enable loadable module support 83 82 CONFIG_KMOD - Automatic kernel module loading 84 83 CONFIG_FW_LOADER - Hotplug firmware loading support
+2 -3
fs/gfs2/Kconfig
··· 20 20 be found here: http://sources.redhat.com/cluster 21 21 22 22 The "nolock" lock module is now built in to GFS2 by default. If 23 - you want to use the DLM, be sure to enable HOTPLUG and IPv4/6 24 - networking. 23 + you want to use the DLM, be sure to enable IPv4/6 networking. 25 24 26 25 config GFS2_FS_LOCKING_DLM 27 26 bool "GFS2 DLM locking" 28 27 depends on (GFS2_FS!=n) && NET && INET && (IPV6 || IPV6=n) && \ 29 - HOTPLUG && CONFIGFS_FS && SYSFS && (DLM=y || DLM=GFS2_FS) 28 + CONFIGFS_FS && SYSFS && (DLM=y || DLM=GFS2_FS) 30 29 help 31 30 Multiple node locking module for GFS2 32 31
-20
include/asm-generic/vmlinux.lds.h
··· 68 68 * are handled as text/data or they can be discarded (which 69 69 * often happens at runtime) 70 70 */ 71 - #ifdef CONFIG_HOTPLUG 72 - #define DEV_KEEP(sec) *(.dev##sec) 73 - #define DEV_DISCARD(sec) 74 - #else 75 - #define DEV_KEEP(sec) 76 - #define DEV_DISCARD(sec) *(.dev##sec) 77 - #endif 78 - 79 71 #ifdef CONFIG_HOTPLUG_CPU 80 72 #define CPU_KEEP(sec) *(.cpu##sec) 81 73 #define CPU_DISCARD(sec) ··· 174 182 *(.data) \ 175 183 *(.ref.data) \ 176 184 *(.data..shared_aligned) /* percpu related */ \ 177 - DEV_KEEP(init.data) \ 178 - DEV_KEEP(exit.data) \ 179 185 CPU_KEEP(init.data) \ 180 186 CPU_KEEP(exit.data) \ 181 187 MEM_KEEP(init.data) \ ··· 362 372 /* __*init sections */ \ 363 373 __init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) { \ 364 374 *(.ref.rodata) \ 365 - DEV_KEEP(init.rodata) \ 366 - DEV_KEEP(exit.rodata) \ 367 375 CPU_KEEP(init.rodata) \ 368 376 CPU_KEEP(exit.rodata) \ 369 377 MEM_KEEP(init.rodata) \ ··· 404 416 *(.text.hot) \ 405 417 *(.text) \ 406 418 *(.ref.text) \ 407 - DEV_KEEP(init.text) \ 408 - DEV_KEEP(exit.text) \ 409 419 CPU_KEEP(init.text) \ 410 420 CPU_KEEP(exit.text) \ 411 421 MEM_KEEP(init.text) \ ··· 489 503 /* init and exit section handling */ 490 504 #define INIT_DATA \ 491 505 *(.init.data) \ 492 - DEV_DISCARD(init.data) \ 493 506 CPU_DISCARD(init.data) \ 494 507 MEM_DISCARD(init.data) \ 495 508 KERNEL_CTORS() \ ··· 496 511 *(.init.rodata) \ 497 512 FTRACE_EVENTS() \ 498 513 TRACE_SYSCALLS() \ 499 - DEV_DISCARD(init.rodata) \ 500 514 CPU_DISCARD(init.rodata) \ 501 515 MEM_DISCARD(init.rodata) \ 502 516 CLK_OF_TABLES() \ ··· 505 521 506 522 #define INIT_TEXT \ 507 523 *(.init.text) \ 508 - DEV_DISCARD(init.text) \ 509 524 CPU_DISCARD(init.text) \ 510 525 MEM_DISCARD(init.text) 511 526 512 527 #define EXIT_DATA \ 513 528 *(.exit.data) \ 514 - DEV_DISCARD(exit.data) \ 515 - DEV_DISCARD(exit.rodata) \ 516 529 CPU_DISCARD(exit.data) \ 517 530 CPU_DISCARD(exit.rodata) \ 518 531 MEM_DISCARD(exit.data) \ ··· 517 536 518 537 #define EXIT_TEXT \ 519 538 *(.exit.text) \ 520 - DEV_DISCARD(exit.text) \ 521 539 CPU_DISCARD(exit.text) \ 522 540 MEM_DISCARD(exit.text) 523 541
-3
init/Kconfig
··· 1244 1244 the unaligned access emulation. 1245 1245 see arch/parisc/kernel/unaligned.c for reference 1246 1246 1247 - config HOTPLUG 1248 - def_bool y 1249 - 1250 1247 config HAVE_PCSPKR_PLATFORM 1251 1248 bool 1252 1249
-1
kernel/power/Kconfig
··· 100 100 depends on SMP 101 101 depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE 102 102 depends on PM_SLEEP 103 - select HOTPLUG 104 103 select HOTPLUG_CPU 105 104 106 105 config PM_AUTOSLEEP
+1 -1
mm/Kconfig
··· 173 173 config MEMORY_HOTPLUG 174 174 bool "Allow for memory hot-add" 175 175 depends on SPARSEMEM || X86_64_ACPI_NUMA 176 - depends on HOTPLUG && ARCH_ENABLE_MEMORY_HOTPLUG 176 + depends on ARCH_ENABLE_MEMORY_HOTPLUG 177 177 depends on (IA64 || X86 || PPC_BOOK3S_64 || SUPERH || S390) 178 178 179 179 config MEMORY_HOTPLUG_SPARSE