Commit-ID: 22fbf682c20b8c51a7fbe51d43bc9833b26c2cc4 Gitweb: http://git.kernel.org/tip/22fbf682c20b8c51a7fbe51d43bc9833b26c2cc4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> AuthorDate: Mon, 21 Nov 2016 13:07:34 +0100 Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx> CommitDate: Mon, 21 Nov 2016 16:37:05 +0100 x86/cpuid: Move the hotplug callbacks to online No point to have this file around before the cpu is online and no point to have it around until the cpu is dead. Get rid of the explicit state. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Sebastian Siewior <bigeasy@xxxxxxxxxxxxx> --- arch/x86/kernel/cpuid.c | 11 ++++++----- include/linux/cpuhotplug.h | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/cpuid.c b/arch/x86/kernel/cpuid.c index fd85e93..e93e9f0 100644 --- a/arch/x86/kernel/cpuid.c +++ b/arch/x86/kernel/cpuid.c @@ -45,6 +45,7 @@ #include <asm/msr.h> static struct class *cpuid_class; +static enum cpuhp_state cpuid_hp_state; struct cpuid_regs { u32 eax, ebx, ecx, edx; @@ -152,11 +153,12 @@ static int __init cpuid_init(void) } cpuid_class->devnode = cpuid_devnode; - err = cpuhp_setup_state(CPUHP_X86_CPUID_PREPARE, "x86/cpuid:prepare", + err = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "x86/cpuid:online", cpuid_device_create, cpuid_device_destroy); - if (err) + if (err < 0) goto out_class; + cpuhp_cpuid_state = err; return 0; out_class: @@ -165,15 +167,14 @@ out_chrdev: __unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid"); return err; } +module_init(cpuid_init); static void __exit cpuid_exit(void) { - cpuhp_remove_state(CPUHP_X86_CPUID_PREPARE); + cpuhp_remove_state(cpuhp_cpuid_state); class_destroy(cpuid_class); __unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid"); } - -module_init(cpuid_init); module_exit(cpuid_exit); MODULE_AUTHOR("H. Peter Anvin <hpa@xxxxxxxxx>"); diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h index bc340ef..79b96f6 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h @@ -59,7 +59,6 @@ enum cpuhp_state { CPUHP_BLK_MQ_PREPARE, CPUHP_NET_FLOW_PREPARE, CPUHP_TOPOLOGY_PREPARE, - CPUHP_X86_CPUID_PREPARE, CPUHP_TIMERS_DEAD, CPUHP_NOTF_ERR_INJ_PREPARE, CPUHP_MIPS_SOC_PREPARE, -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |