Finally eradicate CONFIG_HOTPLUG
Stephen Rothwell [Tue, 21 May 2013 03:49:35 +0000 (13:49 +1000)]
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.

bug 200110987
bug 200120060

Change-Id: I36c04ae841a55cd2c85b6cf2483ae3f691ee8c9f

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Vipin Kumar <vipink@nvidia.com>
(cherry picked from commit 40b313608ad4ea655addd2ec6cdd106477ae8e15)
Change-Id: Ia685a4b416755a918c6f0c760a85d75e4dd29043
Reviewed-on: http://git-master/r/784819
(cherry picked from commit 29c2913b47eda5d1c7508d8001de32b6b1eb304c)
Reviewed-on: http://git-master/r/841663
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

33 files changed:
Documentation/ABI/testing/sysfs-bus-pci
Documentation/SubmitChecklist
Documentation/cpu-hotplug.txt
Documentation/hwmon/submitting-patches
Documentation/kbuild/kconfig.txt
Documentation/usb/hotplug.txt
arch/arm/Kconfig
arch/arm/kernel/module.c
arch/arm/kernel/vmlinux.lds.S
arch/arm/mach-ixp4xx/Kconfig
arch/blackfin/Kconfig
arch/cris/arch-v32/drivers/Kconfig
arch/ia64/Kconfig
arch/mips/Kconfig
arch/parisc/Kconfig
arch/powerpc/Kconfig
arch/powerpc/mm/tlb_hash64.c
arch/s390/Kconfig
arch/sh/Kconfig
arch/sparc/Kconfig
arch/x86/Kconfig
drivers/base/Kconfig
drivers/char/pcmcia/Kconfig
drivers/edac/Kconfig
drivers/pci/Kconfig
drivers/pci/hotplug/Kconfig
drivers/pcmcia/Kconfig
drivers/staging/media/go7007/go7007.txt
fs/gfs2/Kconfig
include/asm-generic/vmlinux.lds.h
init/Kconfig
kernel/power/Kconfig
mm/Kconfig

index 1ce5ae3..5210a51 100644 (file)
@@ -64,7 +64,6 @@ Description:
                Writing a non-zero value to this attribute will
                force a rescan of all PCI buses in the system, and
                re-discover previously removed devices.
-               Depends on CONFIG_HOTPLUG.
 
 What:          /sys/bus/pci/devices/.../msi_irqs/
 Date:          September, 2011
@@ -90,7 +89,6 @@ Contact:      Linux PCI developers <linux-pci@vger.kernel.org>
 Description:
                Writing a non-zero value to this attribute will
                hot-remove the PCI device and any of its children.
-               Depends on CONFIG_HOTPLUG.
 
 What:          /sys/bus/pci/devices/.../pci_bus/.../rescan
 Date:          May 2011
@@ -99,7 +97,7 @@ Description:
                Writing a non-zero value to this attribute will
                force a rescan of the bus and all child buses,
                and re-discover devices removed earlier from this
-               part of the device tree.  Depends on CONFIG_HOTPLUG.
+               part of the device tree.
 
 What:          /sys/bus/pci/devices/.../rescan
 Date:          January 2009
@@ -109,7 +107,6 @@ Description:
                force a rescan of the device's parent bus and all
                child buses, and re-discover devices removed earlier
                from this part of the device tree.
-               Depends on CONFIG_HOTPLUG.
 
 What:          /sys/bus/pci/devices/.../reset
 Date:          July 2009
index dc0e332..2b7e32d 100644 (file)
@@ -105,5 +105,5 @@ kernel patches.
     same time, just various/random combinations of them]:
 
     CONFIG_SMP, CONFIG_SYSFS, CONFIG_PROC_FS, CONFIG_INPUT, CONFIG_PCI,
-    CONFIG_BLOCK, CONFIG_PM, CONFIG_HOTPLUG, CONFIG_MAGIC_SYSRQ,
+    CONFIG_BLOCK, CONFIG_PM, CONFIG_MAGIC_SYSRQ,
     CONFIG_NET, CONFIG_INET=n (but latter with CONFIG_NET=y)
index 9f40135..0efd1b9 100644 (file)
@@ -128,7 +128,7 @@ A: When doing make defconfig, Enable CPU hotplug support
 
    "Processor type and Features" -> Support for Hotpluggable CPUs
 
-Make sure that you have CONFIG_HOTPLUG, and CONFIG_SMP turned on as well.
+Make sure that you have CONFIG_SMP turned on as well.
 
 You would need to enable CONFIG_HOTPLUG_CPU for SMP suspend/resume support
 as well.
index 843751c..4628646 100644 (file)
@@ -27,8 +27,7 @@ increase the chances of your change being accepted.
   explicitly below the patch header.
 
 * If your patch (or the driver) is affected by configuration options such as
-  CONFIG_SMP or CONFIG_HOTPLUG, make sure it compiles for all configuration
-  variants.
+  CONFIG_SMP, make sure it compiles for all configuration variants.
 
 
 2. Adding functionality to existing drivers
index 3f429ed..213859e 100644 (file)
@@ -165,7 +165,7 @@ Searching in menuconfig:
        Example:
                /hotplug
                This lists all config symbols that contain "hotplug",
-               e.g., HOTPLUG, HOTPLUG_CPU, MEMORY_HOTPLUG.
+               e.g., HOTPLUG_CPU, MEMORY_HOTPLUG.
 
        For search help, enter / followed TAB-TAB-TAB (to highlight
        <Help>) and Enter.  This will tell you that you can also use
index 4c94571..6424b13 100644 (file)
@@ -33,9 +33,9 @@ you get the best hotplugging when you configure a highly modular system.
 
 KERNEL HOTPLUG HELPER (/sbin/hotplug)
 
-When you compile with CONFIG_HOTPLUG, you get a new kernel parameter:
-/proc/sys/kernel/hotplug, which normally holds the pathname "/sbin/hotplug".
-That parameter names a program which the kernel may invoke at various times.
+There is a kernel parameter: /proc/sys/kernel/hotplug, which normally
+holds the pathname "/sbin/hotplug".  That parameter names a program
+which the kernel may invoke at various times.
 
 The /sbin/hotplug program can be invoked by any subsystem as part of its
 reaction to a configuration change, from a thread in that subsystem.
index 7f75d00..475581b 100644 (file)
@@ -1688,7 +1688,7 @@ config NR_CPUS
 
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs"
-       depends on SMP && HOTPLUG
+       depends on SMP
        help
          Say Y here to experiment with turning CPUs off and on.  CPUs
          can be controlled through /sys/devices/system/cpu.
index 71f3c1e..4b75715 100644 (file)
@@ -289,24 +289,16 @@ int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs,
 
                if (strcmp(".ARM.exidx.init.text", secname) == 0)
                        maps[ARM_SEC_INIT].unw_sec = s;
-               else if (strcmp(".ARM.exidx.devinit.text", secname) == 0)
-                       maps[ARM_SEC_DEVINIT].unw_sec = s;
                else if (strcmp(".ARM.exidx", secname) == 0)
                        maps[ARM_SEC_CORE].unw_sec = s;
                else if (strcmp(".ARM.exidx.exit.text", secname) == 0)
                        maps[ARM_SEC_EXIT].unw_sec = s;
-               else if (strcmp(".ARM.exidx.devexit.text", secname) == 0)
-                       maps[ARM_SEC_DEVEXIT].unw_sec = s;
                else if (strcmp(".init.text", secname) == 0)
                        maps[ARM_SEC_INIT].txt_sec = s;
-               else if (strcmp(".devinit.text", secname) == 0)
-                       maps[ARM_SEC_DEVINIT].txt_sec = s;
                else if (strcmp(".text", secname) == 0)
                        maps[ARM_SEC_CORE].txt_sec = s;
                else if (strcmp(".exit.text", secname) == 0)
                        maps[ARM_SEC_EXIT].txt_sec = s;
-               else if (strcmp(".devexit.text", secname) == 0)
-                       maps[ARM_SEC_DEVEXIT].txt_sec = s;
        }
 
        for (i = 0; i < ARM_SEC_MAX; i++)
index 33f2ea3..7bcee5c 100644 (file)
@@ -70,10 +70,6 @@ SECTIONS
                ARM_EXIT_DISCARD(EXIT_TEXT)
                ARM_EXIT_DISCARD(EXIT_DATA)
                EXIT_CALL
-#ifndef CONFIG_HOTPLUG
-               *(.ARM.exidx.devexit.text)
-               *(.ARM.extab.devexit.text)
-#endif
 #ifndef CONFIG_MMU
                *(.fixup)
                *(__ex_table)
index 73a2d90..30e1ebe 100644 (file)
@@ -235,7 +235,6 @@ config IXP4XX_QMGR
 config IXP4XX_NPE
        tristate "IXP4xx Network Processor Engine support"
        select FW_LOADER
-       select HOTPLUG
        help
          This driver supports IXP4xx built-in network coprocessors
          and is automatically selected by Ethernet and HSS drivers.
index 36a0255..2af1300 100644 (file)
@@ -252,7 +252,7 @@ config NR_CPUS
 
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs"
-       depends on SMP && HOTPLUG
+       depends on SMP
        default y
 
 config BF_REV_MIN
index c55971a..ab725ed 100644 (file)
@@ -617,7 +617,6 @@ config ETRAX_PV_CHANGEABLE_BITS
 config ETRAX_CARDBUS
         bool "Cardbus support"
         depends on ETRAX_ARCH_V32
-        select HOTPLUG
         help
         Enabled the ETRAX Cardbus driver.
 
index 26ac474..46fce67 100644 (file)
@@ -375,7 +375,6 @@ config NR_CPUS
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs"
        depends on SMP
-       select HOTPLUG
        default n
        ---help---
          Say Y here to experiment with turning CPUs off and on.  CPUs
index f03f340..2e80bec 100644 (file)
@@ -963,7 +963,7 @@ config SYS_HAS_EARLY_PRINTK
 
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs"
-       depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
+       depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
        help
          Say Y here to allow turning CPUs off and on. CPUs can be
          controlled through /sys/devices/system/cpu.
index e1773e5..2289597 100644 (file)
@@ -253,7 +253,6 @@ config IRQSTACKS
 config HOTPLUG_CPU
        bool
        default y if SMP
-       select HOTPLUG
 
 config ARCH_SELECT_MEMORY_MODEL
        def_bool y
index e44c3e6..a7ff7db 100644 (file)
@@ -341,7 +341,7 @@ config SWIOTLB
 
 config HOTPLUG_CPU
        bool "Support for enabling/disabling CPUs"
-       depends on SMP && HOTPLUG && (PPC_PSERIES || \
+       depends on SMP && (PPC_PSERIES || \
        PPC_PMAC || PPC_POWERNV || (PPC_85xx && !PPC_E500MC))
        ---help---
          Say Y here to be able to disable and re-enable individual
index 023ec8a..7df1c5e 100644 (file)
@@ -183,8 +183,8 @@ void tlb_flush(struct mmu_gather *tlb)
  * since 64K pages may overlap with other bridges when using 64K pages
  * with 4K HW pages on IO space.
  *
- * Because of that usage pattern, it's only available with CONFIG_HOTPLUG
- * and is implemented for small size rather than speed.
+ * Because of that usage pattern, it is implemented for small size rather
+ * than speed.
  */
 void __flush_hash_table_range(struct mm_struct *mm, unsigned long start,
                              unsigned long end)
index 4fea057..b6cc96c 100644 (file)
@@ -302,7 +302,6 @@ config HOTPLUG_CPU
        def_bool y
        prompt "Support for hot-pluggable CPUs"
        depends on SMP
-       select HOTPLUG
        help
          Say Y here to be able to turn CPUs off and on. CPUs
          can be controlled through /sys/devices/system/cpu/cpu#.
index aad7e6a..7dfa117 100644 (file)
@@ -747,7 +747,7 @@ config NR_CPUS
 
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
-       depends on SMP && HOTPLUG
+       depends on SMP
        help
          Say Y here to experiment with turning CPUs off and on.  CPUs
          can be controlled through /sys/devices/system/cpu.
index 71a7461..9526eb2 100644 (file)
@@ -243,7 +243,6 @@ config SECCOMP
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs"
        depends on SPARC64 && SMP
-       select HOTPLUG
        help
          Say Y here to experiment with turning CPUs off and on.  CPUs
          can be controlled through /sys/devices/system/cpu/cpu#.
index 6cfc5ed..9a7dfd9 100644 (file)
@@ -1743,7 +1743,7 @@ config PHYSICAL_ALIGN
 
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs"
-       depends on SMP && HOTPLUG
+       depends on SMP
        ---help---
          Say Y here to allow turning CPUs off and on. CPUs can be
          controlled through /sys/devices/system/cpu.
index 3102af9..83aced5 100644 (file)
@@ -2,7 +2,6 @@ menu "Generic Driver Options"
 
 config UEVENT_HELPER_PATH
        string "path to uevent helper"
-       depends on HOTPLUG
        default ""
        help
          Path to uevent helper program forked by the kernel for
@@ -23,7 +22,6 @@ config UEVENT_HELPER_PATH
 
 config DEVTMPFS
        bool "Maintain a devtmpfs filesystem to mount at /dev"
-       depends on HOTPLUG
        help
          This creates a tmpfs/ramfs filesystem instance early at bootup.
          In this filesystem, the kernel driver core maintains device
index 2a166d5..b27f534 100644 (file)
@@ -3,7 +3,7 @@
 #
 
 menu "PCMCIA character devices"
-       depends on HOTPLUG && PCMCIA!=n
+       depends on PCMCIA!=n
 
 config SYNCLINK_CS
        tristate "SyncLink PC Card support"
index e443f2c..a697a64 100644 (file)
@@ -145,7 +145,7 @@ config EDAC_E7XXX
 
 config EDAC_E752X
        tristate "Intel e752x (e7520, e7525, e7320) and 3100"
-       depends on EDAC_MM_EDAC && PCI && X86 && HOTPLUG
+       depends on EDAC_MM_EDAC && PCI && X86
        help
          Support for error detection and correction on the Intel
          E7520, E7525, E7320 server chipsets.
index ac45398..81944fb 100644 (file)
@@ -55,7 +55,6 @@ config PCI_STUB
 config XEN_PCIDEV_FRONTEND
         tristate "Xen PCI Frontend"
         depends on PCI && X86 && XEN
-        select HOTPLUG
         select PCI_XEN
        select XEN_XENBUS_FRONTEND
         default y
@@ -113,7 +112,6 @@ config PCI_IOAPIC
        tristate "PCI IO-APIC hotplug support" if X86
        depends on PCI
        depends on ACPI
-       depends on HOTPLUG
        default !X86
 
 config PCI_LABEL
index 9fcb87f..bb7ebb2 100644 (file)
@@ -4,7 +4,7 @@
 
 menuconfig HOTPLUG_PCI
        tristate "Support for PCI Hotplug"
-       depends on PCI && HOTPLUG && SYSFS
+       depends on PCI && SYSFS
        ---help---
          Say Y here if you have a motherboard with a PCI Hotplug controller.
          This allows you to add and remove PCI cards while the machine is
index b90f85b..1c63624 100644 (file)
@@ -4,7 +4,6 @@
 
 menuconfig PCCARD
        tristate "PCCard (PCMCIA/CardBus) support"
-       depends on HOTPLUG
        ---help---
          Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
          computer.  These are credit-card size devices such as network cards,
index fcb3e23..dc0026c 100644 (file)
@@ -78,7 +78,6 @@ All vendor-built kernels should already be configured properly.  However,
 for custom-built kernels, the following options need to be enabled in the
 kernel as built-in or modules:
 
-       CONFIG_HOTPLUG           - Support for hot-pluggable devices
        CONFIG_MODULES           - Enable loadable module support
        CONFIG_KMOD              - Automatic kernel module loading
        CONFIG_FW_LOADER         - Hotplug firmware loading support
index 5a376ab..90c6a8f 100644 (file)
@@ -20,13 +20,12 @@ config GFS2_FS
          be found here: http://sources.redhat.com/cluster
 
          The "nolock" lock module is now built in to GFS2 by default. If
-         you want to use the DLM, be sure to enable HOTPLUG and IPv4/6
-         networking.
+         you want to use the DLM, be sure to enable IPv4/6 networking.
 
 config GFS2_FS_LOCKING_DLM
        bool "GFS2 DLM locking"
        depends on (GFS2_FS!=n) && NET && INET && (IPV6 || IPV6=n) && \
-               HOTPLUG && CONFIGFS_FS && SYSFS && (DLM=y || DLM=GFS2_FS)
+               CONFIGFS_FS && SYSFS && (DLM=y || DLM=GFS2_FS)
        help
          Multiple node locking module for GFS2
 
index c2727e4..f8961d7 100644 (file)
  * are handled as text/data or they can be discarded (which
  * often happens at runtime)
  */
-#ifdef CONFIG_HOTPLUG
-#define DEV_KEEP(sec)    *(.dev##sec)
-#define DEV_DISCARD(sec)
-#else
-#define DEV_KEEP(sec)
-#define DEV_DISCARD(sec) *(.dev##sec)
-#endif
-
 #ifdef CONFIG_HOTPLUG_CPU
 #define CPU_KEEP(sec)    *(.cpu##sec)
 #define CPU_DISCARD(sec)
        *(.data)                                                        \
        *(.ref.data)                                                    \
        *(.data..shared_aligned) /* percpu related */                   \
-       DEV_KEEP(init.data)                                             \
-       DEV_KEEP(exit.data)                                             \
        CPU_KEEP(init.data)                                             \
        CPU_KEEP(exit.data)                                             \
        MEM_KEEP(init.data)                                             \
        /* __*init sections */                                          \
        __init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) {         \
                *(.ref.rodata)                                          \
-               DEV_KEEP(init.rodata)                                   \
-               DEV_KEEP(exit.rodata)                                   \
                CPU_KEEP(init.rodata)                                   \
                CPU_KEEP(exit.rodata)                                   \
                MEM_KEEP(init.rodata)                                   \
                *(.text.hot)                                            \
                *(.text)                                                \
                *(.ref.text)                                            \
-       DEV_KEEP(init.text)                                             \
-       DEV_KEEP(exit.text)                                             \
        CPU_KEEP(init.text)                                             \
        CPU_KEEP(exit.text)                                             \
        MEM_KEEP(init.text)                                             \
 /* init and exit section handling */
 #define INIT_DATA                                                      \
        *(.init.data)                                                   \
-       DEV_DISCARD(init.data)                                          \
        CPU_DISCARD(init.data)                                          \
        MEM_DISCARD(init.data)                                          \
        KERNEL_CTORS()                                                  \
        *(.init.rodata)                                                 \
        FTRACE_EVENTS()                                                 \
        TRACE_SYSCALLS()                                                \
-       DEV_DISCARD(init.rodata)                                        \
        CPU_DISCARD(init.rodata)                                        \
        MEM_DISCARD(init.rodata)                                        \
        CLK_OF_TABLES()                                                 \
 
 #define INIT_TEXT                                                      \
        *(.init.text)                                                   \
-       DEV_DISCARD(init.text)                                          \
        CPU_DISCARD(init.text)                                          \
        MEM_DISCARD(init.text)
 
 #define EXIT_DATA                                                      \
        *(.exit.data)                                                   \
-       DEV_DISCARD(exit.data)                                          \
-       DEV_DISCARD(exit.rodata)                                        \
        CPU_DISCARD(exit.data)                                          \
        CPU_DISCARD(exit.rodata)                                        \
        MEM_DISCARD(exit.data)                                          \
 
 #define EXIT_TEXT                                                      \
        *(.exit.text)                                                   \
-       DEV_DISCARD(exit.text)                                          \
        CPU_DISCARD(exit.text)                                          \
        MEM_DISCARD(exit.text)
 
index 79ab693..f4d1fc7 100644 (file)
@@ -1263,9 +1263,6 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
          the unaligned access emulation.
          see arch/parisc/kernel/unaligned.c for reference
 
-config HOTPLUG
-       def_bool y
-
 config HAVE_PCSPKR_PLATFORM
        bool
 
index 8f15b44..41797ef 100644 (file)
@@ -120,7 +120,6 @@ config PM_SLEEP_SMP
        depends on SMP
        depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
        depends on PM_SLEEP
-       select HOTPLUG
        select HOTPLUG_CPU
 
 config PM_AUTOSLEEP
index fc5cf8b..84c76e3 100644 (file)
@@ -173,7 +173,7 @@ config HAVE_BOOTMEM_INFO_NODE
 config MEMORY_HOTPLUG
        bool "Allow for memory hot-add"
        depends on SPARSEMEM || X86_64_ACPI_NUMA
-       depends on HOTPLUG && ARCH_ENABLE_MEMORY_HOTPLUG
+       depends on ARCH_ENABLE_MEMORY_HOTPLUG
        depends on (IA64 || X86 || PPC_BOOK3S_64 || SUPERH || S390)
 
 config MEMORY_HOTPLUG_SPARSE