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@linutronix.de> Cc: Sebastian Siewior <bigeasy@linutronix.de>
This commit is contained in:
parent
8c07b494ab
commit
ee92be9b0d
|
@ -45,6 +45,7 @@
|
||||||
#include <asm/msr.h>
|
#include <asm/msr.h>
|
||||||
|
|
||||||
static struct class *cpuid_class;
|
static struct class *cpuid_class;
|
||||||
|
static enum cpuhp_state cpuhp_cpuid_state;
|
||||||
|
|
||||||
struct cpuid_regs {
|
struct cpuid_regs {
|
||||||
u32 eax, ebx, ecx, edx;
|
u32 eax, ebx, ecx, edx;
|
||||||
|
@ -152,11 +153,12 @@ static int __init cpuid_init(void)
|
||||||
}
|
}
|
||||||
cpuid_class->devnode = cpuid_devnode;
|
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);
|
cpuid_device_create, cpuid_device_destroy);
|
||||||
if (err)
|
if (err < 0)
|
||||||
goto out_class;
|
goto out_class;
|
||||||
|
|
||||||
|
cpuhp_cpuid_state = err;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out_class:
|
out_class:
|
||||||
|
@ -165,15 +167,14 @@ out_chrdev:
|
||||||
__unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid");
|
__unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid");
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
module_init(cpuid_init);
|
||||||
|
|
||||||
static void __exit cpuid_exit(void)
|
static void __exit cpuid_exit(void)
|
||||||
{
|
{
|
||||||
cpuhp_remove_state(CPUHP_X86_CPUID_PREPARE);
|
cpuhp_remove_state(cpuhp_cpuid_state);
|
||||||
class_destroy(cpuid_class);
|
class_destroy(cpuid_class);
|
||||||
__unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid");
|
__unregister_chrdev(CPUID_MAJOR, 0, NR_CPUS, "cpu/cpuid");
|
||||||
}
|
}
|
||||||
|
|
||||||
module_init(cpuid_init);
|
|
||||||
module_exit(cpuid_exit);
|
module_exit(cpuid_exit);
|
||||||
|
|
||||||
MODULE_AUTHOR("H. Peter Anvin <hpa@zytor.com>");
|
MODULE_AUTHOR("H. Peter Anvin <hpa@zytor.com>");
|
||||||
|
|
|
@ -59,7 +59,6 @@ enum cpuhp_state {
|
||||||
CPUHP_BLK_MQ_PREPARE,
|
CPUHP_BLK_MQ_PREPARE,
|
||||||
CPUHP_NET_FLOW_PREPARE,
|
CPUHP_NET_FLOW_PREPARE,
|
||||||
CPUHP_TOPOLOGY_PREPARE,
|
CPUHP_TOPOLOGY_PREPARE,
|
||||||
CPUHP_X86_CPUID_PREPARE,
|
|
||||||
CPUHP_TIMERS_DEAD,
|
CPUHP_TIMERS_DEAD,
|
||||||
CPUHP_NOTF_ERR_INJ_PREPARE,
|
CPUHP_NOTF_ERR_INJ_PREPARE,
|
||||||
CPUHP_MIPS_SOC_PREPARE,
|
CPUHP_MIPS_SOC_PREPARE,
|
||||||
|
|
Loading…
Reference in New Issue