The patch titled Remove __devinit and __cpuinit from notifier_call definitions has been removed from the -mm tree. Its filename is remove-__devinit-and-__cpuinit-from-notifier_call-definitions.patch This patch was probably dropped from -mm because it has now been merged into a subsystem tree or into Linus's tree, or because it was folded into its parent patch in the -mm tree. From: Chandra Seetharaman <sekharan@xxxxxxxxxx> A few of the notifier_chain_register() callers use __init in the definition of notifier_call. It is incorrect as the function definition should be available after the initializations (they do not unregister them during initializations). This patch fixes all such usages to _not_ have the notifier_call __init section. Signed-off-by: Chandra Seetharaman <sekharan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- i386/kernel/cpuid.c | 0 i386/kernel/msr.c | 0 arch/i386/kernel/cpu/intel_cacheinfo.c | 2 +- arch/ia64/kernel/palinfo.c | 2 +- arch/ia64/kernel/salinfo.c | 2 +- arch/ia64/kernel/topology.c | 2 +- arch/powerpc/kernel/sysfs.c | 2 +- arch/x86_64/kernel/mce.c | 2 +- arch/x86_64/kernel/mce_amd.c | 2 +- drivers/base/topology.c | 2 +- drivers/cpufreq/cpufreq.c | 2 +- kernel/hrtimer.c | 2 +- kernel/profile.c | 2 +- kernel/rcupdate.c | 2 +- kernel/softirq.c | 2 +- kernel/softlockup.c | 2 +- kernel/timer.c | 2 +- kernel/workqueue.c | 2 +- mm/page_alloc.c | 2 +- mm/slab.c | 2 +- mm/vmscan.c | 2 +- 21 files changed, 19 insertions(+), 19 deletions(-) diff -puN arch/i386/kernel/cpuid.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/i386/kernel/cpuid.c diff -puN arch/i386/kernel/cpu/intel_cacheinfo.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/i386/kernel/cpu/intel_cacheinfo.c --- devel/arch/i386/kernel/cpu/intel_cacheinfo.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/arch/i386/kernel/cpu/intel_cacheinfo.c 2006-04-24 20:02:43.000000000 -0700 @@ -642,7 +642,7 @@ static void __cpuexit cache_remove_dev(s return; } -static int __cpuinit cacheinfo_cpu_callback(struct notifier_block *nfb, +static int cacheinfo_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { unsigned int cpu = (unsigned long)hcpu; diff -puN arch/i386/kernel/msr.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/i386/kernel/msr.c diff -puN arch/ia64/kernel/palinfo.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/ia64/kernel/palinfo.c --- devel/arch/ia64/kernel/palinfo.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/palinfo.c 2006-04-24 20:02:43.000000000 -0700 @@ -959,7 +959,7 @@ remove_palinfo_proc_entries(unsigned int } } -static int __devinit palinfo_cpu_callback(struct notifier_block *nfb, +static int palinfo_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { diff -puN arch/ia64/kernel/salinfo.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/ia64/kernel/salinfo.c --- devel/arch/ia64/kernel/salinfo.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/salinfo.c 2006-04-24 20:02:43.000000000 -0700 @@ -572,7 +572,7 @@ static struct file_operations salinfo_da }; #ifdef CONFIG_HOTPLUG_CPU -static int __devinit +static int salinfo_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu) { unsigned int i, cpu = (unsigned long)hcpu; diff -puN arch/ia64/kernel/topology.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/ia64/kernel/topology.c --- devel/arch/ia64/kernel/topology.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/topology.c 2006-04-24 20:02:43.000000000 -0700 @@ -429,7 +429,7 @@ static int __cpuinit cache_remove_dev(st * When a cpu is hot-plugged, do a check and initiate * cache kobject if necessary */ -static int __cpuinit cache_cpu_callback(struct notifier_block *nfb, +static int cache_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { unsigned int cpu = (unsigned long)hcpu; diff -puN arch/powerpc/kernel/sysfs.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/powerpc/kernel/sysfs.c --- devel/arch/powerpc/kernel/sysfs.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/arch/powerpc/kernel/sysfs.c 2006-04-24 20:02:43.000000000 -0700 @@ -279,7 +279,7 @@ static void unregister_cpu_online(unsign } #endif /* CONFIG_HOTPLUG_CPU */ -static int __devinit sysfs_cpu_notify(struct notifier_block *self, +static int sysfs_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu) { unsigned int cpu = (unsigned int)(long)hcpu; diff -puN arch/x86_64/kernel/mce_amd.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/x86_64/kernel/mce_amd.c --- devel/arch/x86_64/kernel/mce_amd.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/arch/x86_64/kernel/mce_amd.c 2006-04-24 20:02:43.000000000 -0700 @@ -482,7 +482,7 @@ static void threshold_remove_device(unsi #endif /* get notified when a cpu comes on/off */ -static __cpuinit int threshold_cpu_callback(struct notifier_block *nfb, +static int threshold_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { /* cpu was unsigned int to begin with */ diff -puN arch/x86_64/kernel/mce.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions arch/x86_64/kernel/mce.c --- devel/arch/x86_64/kernel/mce.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/arch/x86_64/kernel/mce.c 2006-04-24 20:02:43.000000000 -0700 @@ -629,7 +629,7 @@ static __cpuinit void mce_remove_device( #endif /* Get notified when a cpu comes on/off. Be hotplug friendly. */ -static __cpuinit int +static int mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { unsigned int cpu = (unsigned long)hcpu; diff -puN drivers/base/topology.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions drivers/base/topology.c --- devel/drivers/base/topology.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/drivers/base/topology.c 2006-04-24 20:02:43.000000000 -0700 @@ -107,7 +107,7 @@ static int __cpuinit topology_remove_dev return 0; } -static int __cpuinit topology_cpu_callback(struct notifier_block *nfb, +static int topology_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { unsigned int cpu = (unsigned long)hcpu; diff -puN drivers/cpufreq/cpufreq.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions drivers/cpufreq/cpufreq.c --- devel/drivers/cpufreq/cpufreq.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/drivers/cpufreq/cpufreq.c 2006-04-24 20:02:43.000000000 -0700 @@ -1497,7 +1497,7 @@ int cpufreq_update_policy(unsigned int c } EXPORT_SYMBOL(cpufreq_update_policy); -static int __cpuinit cpufreq_cpu_callback(struct notifier_block *nfb, +static int cpufreq_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { unsigned int cpu = (unsigned long)hcpu; diff -puN kernel/hrtimer.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions kernel/hrtimer.c --- devel/kernel/hrtimer.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/kernel/hrtimer.c 2006-04-24 20:02:43.000000000 -0700 @@ -836,7 +836,7 @@ static void migrate_hrtimers(int cpu) } #endif /* CONFIG_HOTPLUG_CPU */ -static int __devinit hrtimer_cpu_notify(struct notifier_block *self, +static int hrtimer_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu) { long cpu = (long)hcpu; diff -puN kernel/profile.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions kernel/profile.c --- devel/kernel/profile.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/kernel/profile.c 2006-04-24 20:02:43.000000000 -0700 @@ -299,7 +299,7 @@ out: } #ifdef CONFIG_HOTPLUG_CPU -static int __devinit profile_cpu_callback(struct notifier_block *info, +static int profile_cpu_callback(struct notifier_block *info, unsigned long action, void *__cpu) { int node, cpu = (unsigned long)__cpu; diff -puN kernel/rcupdate.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions kernel/rcupdate.c --- devel/kernel/rcupdate.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/kernel/rcupdate.c 2006-04-24 20:02:43.000000000 -0700 @@ -520,7 +520,7 @@ static void __devinit rcu_online_cpu(int tasklet_init(&per_cpu(rcu_tasklet, cpu), rcu_process_callbacks, 0UL); } -static int __devinit rcu_cpu_notify(struct notifier_block *self, +static int rcu_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu) { long cpu = (long)hcpu; diff -puN kernel/softirq.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions kernel/softirq.c --- devel/kernel/softirq.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/kernel/softirq.c 2006-04-24 20:02:43.000000000 -0700 @@ -446,7 +446,7 @@ static void takeover_tasklets(unsigned i } #endif /* CONFIG_HOTPLUG_CPU */ -static int __devinit cpu_callback(struct notifier_block *nfb, +static int cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { diff -puN kernel/softlockup.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions kernel/softlockup.c --- devel/kernel/softlockup.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/kernel/softlockup.c 2006-04-24 20:02:43.000000000 -0700 @@ -104,7 +104,7 @@ static int watchdog(void * __bind_cpu) /* * Create/destroy watchdog threads as CPUs come and go: */ -static int __devinit +static int cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { int hotcpu = (unsigned long)hcpu; diff -puN kernel/timer.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions kernel/timer.c --- devel/kernel/timer.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/kernel/timer.c 2006-04-24 20:02:43.000000000 -0700 @@ -1314,7 +1314,7 @@ static void __devinit migrate_timers(int } #endif /* CONFIG_HOTPLUG_CPU */ -static int __devinit timer_cpu_notify(struct notifier_block *self, +static int timer_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu) { long cpu = (long)hcpu; diff -puN kernel/workqueue.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions kernel/workqueue.c --- devel/kernel/workqueue.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/kernel/workqueue.c 2006-04-24 20:02:43.000000000 -0700 @@ -547,7 +547,7 @@ static void take_over_work(struct workqu } /* We're holding the cpucontrol mutex here */ -static int __devinit workqueue_cpu_callback(struct notifier_block *nfb, +static int workqueue_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { diff -puN mm/page_alloc.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions mm/page_alloc.c --- devel/mm/page_alloc.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/mm/page_alloc.c 2006-04-24 20:02:43.000000000 -0700 @@ -1962,7 +1962,7 @@ static inline void free_zone_pagesets(in } } -static int __cpuinit pageset_cpuup_callback(struct notifier_block *nfb, +static int pageset_cpuup_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { diff -puN mm/slab.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions mm/slab.c --- devel/mm/slab.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/mm/slab.c 2006-04-24 20:02:43.000000000 -0700 @@ -1036,7 +1036,7 @@ static inline void free_alien_cache(stru #endif -static int __devinit cpuup_callback(struct notifier_block *nfb, +static int cpuup_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { long cpu = (long)hcpu; diff -puN mm/vmscan.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions mm/vmscan.c --- devel/mm/vmscan.c~remove-__devinit-and-__cpuinit-from-notifier_call-definitions 2006-04-24 20:02:40.000000000 -0700 +++ devel-akpm/mm/vmscan.c 2006-04-24 20:02:43.000000000 -0700 @@ -1328,7 +1328,7 @@ repeat: not required for correctness. So if the last cpu in a node goes away, we get changed to run anywhere: as the first one comes back, restore their cpu bindings. */ -static int __devinit cpu_callback(struct notifier_block *nfb, +static int cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { pg_data_t *pgdat; _ Patches currently in -mm which might be from sekharan@xxxxxxxxxx are origin.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html