Skip to content

Commit

Permalink
[PATCH] msr.c: use register_hotcpu_notifier()
Browse files Browse the repository at this point in the history
register_cpu_notifier() cannot do anything in a module, in a
!CONFIG_HOTPLUG_CPU kernel.

Cc: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Andrew Morton authored and Linus Torvalds committed Jun 30, 2006
1 parent 1017f6a commit e09793b
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions arch/i386/kernel/msr.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,9 @@ static int msr_class_device_create(int i)
return err;
}

static int msr_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
#ifdef CONFIG_HOTPLUG_CPU
static int msr_class_cpu_callback(struct notifier_block *nfb,
unsigned long action, void *hcpu)
{
unsigned int cpu = (unsigned long)hcpu;

Expand All @@ -270,6 +272,7 @@ static struct notifier_block __cpuinitdata msr_class_cpu_notifier =
{
.notifier_call = msr_class_cpu_callback,
};
#endif

static int __init msr_init(void)
{
Expand All @@ -292,7 +295,7 @@ static int __init msr_init(void)
if (err != 0)
goto out_class;
}
register_cpu_notifier(&msr_class_cpu_notifier);
register_hotcpu_notifier(&msr_class_cpu_notifier);

err = 0;
goto out;
Expand All @@ -315,7 +318,7 @@ static void __exit msr_exit(void)
class_device_destroy(msr_class, MKDEV(MSR_MAJOR, cpu));
class_destroy(msr_class);
unregister_chrdev(MSR_MAJOR, "cpu/msr");
unregister_cpu_notifier(&msr_class_cpu_notifier);
unregister_hotcpu_notifier(&msr_class_cpu_notifier);
}

module_init(msr_init);
Expand Down

0 comments on commit e09793b

Please sign in to comment.