|
@@ -590,12 +590,12 @@ static int __init pkg_temp_thermal_init(void)
|
|
|
platform_thermal_package_rate_control =
|
|
|
pkg_temp_thermal_platform_thermal_rate_control;
|
|
|
|
|
|
- get_online_cpus();
|
|
|
+ cpu_notifier_register_begin();
|
|
|
for_each_online_cpu(i)
|
|
|
if (get_core_online(i))
|
|
|
goto err_ret;
|
|
|
- register_hotcpu_notifier(&pkg_temp_thermal_notifier);
|
|
|
- put_online_cpus();
|
|
|
+ __register_hotcpu_notifier(&pkg_temp_thermal_notifier);
|
|
|
+ cpu_notifier_register_done();
|
|
|
|
|
|
pkg_temp_debugfs_init(); /* Don't care if fails */
|
|
|
|
|
@@ -604,7 +604,7 @@ static int __init pkg_temp_thermal_init(void)
|
|
|
err_ret:
|
|
|
for_each_online_cpu(i)
|
|
|
put_core_offline(i);
|
|
|
- put_online_cpus();
|
|
|
+ cpu_notifier_register_done();
|
|
|
kfree(pkg_work_scheduled);
|
|
|
platform_thermal_package_notify = NULL;
|
|
|
platform_thermal_package_rate_control = NULL;
|
|
@@ -617,8 +617,8 @@ static void __exit pkg_temp_thermal_exit(void)
|
|
|
struct phy_dev_entry *phdev, *n;
|
|
|
int i;
|
|
|
|
|
|
- get_online_cpus();
|
|
|
- unregister_hotcpu_notifier(&pkg_temp_thermal_notifier);
|
|
|
+ cpu_notifier_register_begin();
|
|
|
+ __unregister_hotcpu_notifier(&pkg_temp_thermal_notifier);
|
|
|
mutex_lock(&phy_dev_list_mutex);
|
|
|
list_for_each_entry_safe(phdev, n, &phy_dev_list, list) {
|
|
|
/* Retore old MSR value for package thermal interrupt */
|
|
@@ -636,7 +636,7 @@ static void __exit pkg_temp_thermal_exit(void)
|
|
|
for_each_online_cpu(i)
|
|
|
cancel_delayed_work_sync(
|
|
|
&per_cpu(pkg_temp_thermal_threshold_work, i));
|
|
|
- put_online_cpus();
|
|
|
+ cpu_notifier_register_done();
|
|
|
|
|
|
kfree(pkg_work_scheduled);
|
|
|
|