diff options
-rw-r--r-- | drivers/powercap/intel_rapl.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/powercap/intel_rapl.c b/drivers/powercap/intel_rapl.c index 3c6768378a94..d6c74c1b5ea7 100644 --- a/drivers/powercap/intel_rapl.c +++ b/drivers/powercap/intel_rapl.c | |||
@@ -1369,6 +1369,9 @@ static int __init rapl_init(void) | |||
1369 | 1369 | ||
1370 | return -ENODEV; | 1370 | return -ENODEV; |
1371 | } | 1371 | } |
1372 | |||
1373 | cpu_notifier_register_begin(); | ||
1374 | |||
1372 | /* prevent CPU hotplug during detection */ | 1375 | /* prevent CPU hotplug during detection */ |
1373 | get_online_cpus(); | 1376 | get_online_cpus(); |
1374 | ret = rapl_detect_topology(); | 1377 | ret = rapl_detect_topology(); |
@@ -1380,20 +1383,23 @@ static int __init rapl_init(void) | |||
1380 | ret = -ENODEV; | 1383 | ret = -ENODEV; |
1381 | goto done; | 1384 | goto done; |
1382 | } | 1385 | } |
1383 | register_hotcpu_notifier(&rapl_cpu_notifier); | 1386 | __register_hotcpu_notifier(&rapl_cpu_notifier); |
1384 | done: | 1387 | done: |
1385 | put_online_cpus(); | 1388 | put_online_cpus(); |
1389 | cpu_notifier_register_done(); | ||
1386 | 1390 | ||
1387 | return ret; | 1391 | return ret; |
1388 | } | 1392 | } |
1389 | 1393 | ||
1390 | static void __exit rapl_exit(void) | 1394 | static void __exit rapl_exit(void) |
1391 | { | 1395 | { |
1396 | cpu_notifier_register_begin(); | ||
1392 | get_online_cpus(); | 1397 | get_online_cpus(); |
1393 | unregister_hotcpu_notifier(&rapl_cpu_notifier); | 1398 | __unregister_hotcpu_notifier(&rapl_cpu_notifier); |
1394 | rapl_unregister_powercap(); | 1399 | rapl_unregister_powercap(); |
1395 | rapl_cleanup_data(); | 1400 | rapl_cleanup_data(); |
1396 | put_online_cpus(); | 1401 | put_online_cpus(); |
1402 | cpu_notifier_register_done(); | ||
1397 | } | 1403 | } |
1398 | 1404 | ||
1399 | module_init(rapl_init); | 1405 | module_init(rapl_init); |