From: Chandra Seetharaman Make notifier_calls associated with cpu_notifier as __cpuinit. __cpuinit makes sure that the function is init time only unless CONFIG_HOTPLUG_CPU is defined. Signed-off-by: Chandra Seetharaman Cc: Ashok Raj Signed-off-by: Andrew Morton --- drivers/cpufreq/cpufreq.c | 2 +- drivers/cpufreq/cpufreq_stats.c | 2 +- kernel/sched.c | 7 ++++--- mm/page-writeback.c | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff -puN drivers/cpufreq/cpufreq.c~cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only drivers/cpufreq/cpufreq.c --- a/drivers/cpufreq/cpufreq.c~cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only +++ a/drivers/cpufreq/cpufreq.c @@ -1551,7 +1551,7 @@ static struct notifier_block __cpuinitda * (and isn't unregistered in the meantime). * */ -int cpufreq_register_driver(struct cpufreq_driver *driver_data) +int __cpuinit cpufreq_register_driver(struct cpufreq_driver *driver_data) { unsigned long flags; int ret; diff -puN drivers/cpufreq/cpufreq_stats.c~cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only drivers/cpufreq/cpufreq_stats.c --- a/drivers/cpufreq/cpufreq_stats.c~cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only +++ a/drivers/cpufreq/cpufreq_stats.c @@ -303,7 +303,7 @@ cpufreq_stat_notifier_trans (struct noti return 0; } -static int cpufreq_stat_cpu_callback(struct notifier_block *nfb, +static int __cpuinit cpufreq_stat_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { unsigned int cpu = (unsigned long)hcpu; diff -puN kernel/sched.c~cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only kernel/sched.c --- a/kernel/sched.c~cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only +++ a/kernel/sched.c @@ -4734,8 +4734,9 @@ static void migrate_dead_tasks(unsigned * migration_call - callback that gets triggered when a CPU is added. * Here we can start up the necessary migration thread for the new CPU. */ -static int migration_call(struct notifier_block *nfb, unsigned long action, - void *hcpu) +static int __cpuinit migration_call(struct notifier_block *nfb, + unsigned long action, + void *hcpu) { int cpu = (long)hcpu; struct task_struct *p; @@ -4805,7 +4806,7 @@ static int migration_call(struct notifie /* Register at highest priority so that task migration (migrate_all_tasks) * happens before everything else. */ -static struct notifier_block __devinitdata migration_notifier = { +static struct notifier_block __cpuinitdata migration_notifier = { .notifier_call = migration_call, .priority = 10 }; diff -puN mm/page-writeback.c~cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only mm/page-writeback.c --- a/mm/page-writeback.c~cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only +++ a/mm/page-writeback.c @@ -500,7 +500,7 @@ static void set_ratelimit(void) ratelimit_pages = (4096 * 1024) / PAGE_CACHE_SIZE; } -static int +static int __cpuinit ratelimit_handler(struct notifier_block *self, unsigned long u, void *v) { set_ratelimit(); _