x86/mce/therm_throt: Move hotplug callbacks to online
authorThomas Gleixner <tglx@linutronix.de>
Mon, 21 Nov 2016 12:15:32 +0000 (13:15 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 22 Nov 2016 22:34:38 +0000 (23:34 +0100)
No point to have the sysfs files around before the cpu is online and no
point to have them 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>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Borislav Petkov <bp@alien8.de>
arch/x86/kernel/cpu/mcheck/therm_throt.c
include/linux/cpuhotplug.h

index 7f56620735ca938464d23e8d06685086ae00f909..e1d74fd79d5f9556a526e1d4409bcf43c8d3d7f5 100644 (file)
@@ -271,14 +271,14 @@ static void thermal_throttle_remove_dev(struct device *dev)
 }
 
 /* Get notified when a cpu comes on/off. Be hotplug friendly. */
-static int thermal_throttle_prepare(unsigned int cpu)
+static int thermal_throttle_online(unsigned int cpu)
 {
        struct device *dev = get_cpu_device(cpu);
 
        return thermal_throttle_add_dev(dev, cpu);
 }
 
-static int thermal_throttle_dead(unsigned int cpu)
+static int thermal_throttle_offline(unsigned int cpu)
 {
        struct device *dev = get_cpu_device(cpu);
 
@@ -288,12 +288,15 @@ static int thermal_throttle_dead(unsigned int cpu)
 
 static __init int thermal_throttle_init_device(void)
 {
+       int ret;
+
        if (!atomic_read(&therm_throt_en))
                return 0;
 
-       return cpuhp_setup_state(CPUHP_X86_THERM_PREPARE, "x86/therm:prepare",
-                                thermal_throttle_prepare,
-                                thermal_throttle_dead);
+       ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "x86/therm:online",
+                               thermal_throttle_online,
+                               thermal_throttle_offline);
+       return ret < 0 ? ret : 0;
 }
 device_initcall(thermal_throttle_init_device);
 
index aea6c6a63139bf5978cd469de21454d6086fe0f0..79b96f647d643e1c715e90cd69d1160cd2f40452 100644 (file)
@@ -59,7 +59,6 @@ enum cpuhp_state {
        CPUHP_BLK_MQ_PREPARE,
        CPUHP_NET_FLOW_PREPARE,
        CPUHP_TOPOLOGY_PREPARE,
-       CPUHP_X86_THERM_PREPARE,
        CPUHP_TIMERS_DEAD,
        CPUHP_NOTF_ERR_INJ_PREPARE,
        CPUHP_MIPS_SOC_PREPARE,