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

drivers: delete __cpuinit usage from all remaining drivers files

The __cpuinit type of throwaway sections might have made sense
some time ago when RAM was more constrained, but now the savings
do not offset the cost and complications. For example, the fix in
commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
is a good example of the nasty type of bugs that can be created
with improper use of the various __init prefixes.

After a discussion on LKML[1] it was decided that cpuinit should go
the way of devinit and be phased out. Once all the users are gone,
we can then finally remove the macros themselves from linux/init.h.

This removes all the remaining one-off uses of the __cpuinit macros
from all C files in the drivers/* directory.

[1] https://lkml.org/lkml/2013/5/20/589

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

+9 -9
+1 -1
drivers/base/cpu.c
··· 278 278 * 279 279 * Initialize and register the CPU device. 280 280 */ 281 - int __cpuinit register_cpu(struct cpu *cpu, int num) 281 + int register_cpu(struct cpu *cpu, int num) 282 282 { 283 283 int error; 284 284
+5 -5
drivers/base/topology.c
··· 143 143 }; 144 144 145 145 /* Add/Remove cpu_topology interface for CPU device */ 146 - static int __cpuinit topology_add_dev(unsigned int cpu) 146 + static int topology_add_dev(unsigned int cpu) 147 147 { 148 148 struct device *dev = get_cpu_device(cpu); 149 149 150 150 return sysfs_create_group(&dev->kobj, &topology_attr_group); 151 151 } 152 152 153 - static void __cpuinit topology_remove_dev(unsigned int cpu) 153 + static void topology_remove_dev(unsigned int cpu) 154 154 { 155 155 struct device *dev = get_cpu_device(cpu); 156 156 157 157 sysfs_remove_group(&dev->kobj, &topology_attr_group); 158 158 } 159 159 160 - static int __cpuinit topology_cpu_callback(struct notifier_block *nfb, 161 - unsigned long action, void *hcpu) 160 + static int topology_cpu_callback(struct notifier_block *nfb, 161 + unsigned long action, void *hcpu) 162 162 { 163 163 unsigned int cpu = (unsigned long)hcpu; 164 164 int rc = 0; ··· 178 178 return notifier_from_errno(rc); 179 179 } 180 180 181 - static int __cpuinit topology_sysfs_init(void) 181 + static int topology_sysfs_init(void) 182 182 { 183 183 int cpu; 184 184 int rc;
+2 -2
drivers/oprofile/timer_int.c
··· 74 74 put_online_cpus(); 75 75 } 76 76 77 - static int __cpuinit oprofile_cpu_notify(struct notifier_block *self, 78 - unsigned long action, void *hcpu) 77 + static int oprofile_cpu_notify(struct notifier_block *self, 78 + unsigned long action, void *hcpu) 79 79 { 80 80 long cpu = (long) hcpu; 81 81
+1 -1
drivers/xen/xen-acpi-cpuhotplug.c
··· 91 91 return 0; 92 92 } 93 93 94 - static int __cpuinit xen_acpi_processor_add(struct acpi_device *device) 94 + static int xen_acpi_processor_add(struct acpi_device *device) 95 95 { 96 96 int ret; 97 97 struct acpi_processor *pr;