浏览代码

x86/mce/therm_throt: Move hotplug callbacks to online

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>
Thomas Gleixner 8 年之前
父节点
当前提交
33d97302eb
共有 2 个文件被更改,包括 8 次插入6 次删除
  1. 8 5
      arch/x86/kernel/cpu/mcheck/therm_throt.c
  2. 0 1
      include/linux/cpuhotplug.h

+ 8 - 5
arch/x86/kernel/cpu/mcheck/therm_throt.c

@@ -271,14 +271,14 @@ static void thermal_throttle_remove_dev(struct device *dev)
 }
 }
 
 
 /* Get notified when a cpu comes on/off. Be hotplug friendly. */
 /* 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);
 	struct device *dev = get_cpu_device(cpu);
 
 
 	return thermal_throttle_add_dev(dev, 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);
 	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)
 static __init int thermal_throttle_init_device(void)
 {
 {
+	int ret;
+
 	if (!atomic_read(&therm_throt_en))
 	if (!atomic_read(&therm_throt_en))
 		return 0;
 		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);
 device_initcall(thermal_throttle_init_device);
 
 

+ 0 - 1
include/linux/cpuhotplug.h

@@ -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_THERM_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,