Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney...
[firefly-linux-kernel-4.4.55.git] / drivers / watchdog / octeon-wdt-main.c
index 461208831428e4da609606282af2b56f4c3c81f4..4baf2d788920484f5f9fe8d752d9f51ecf7b63fb 100644 (file)
@@ -708,10 +708,13 @@ static int __init octeon_wdt_init(void)
 
        cpumask_clear(&irq_enabled_cpus);
 
+       cpu_notifier_register_begin();
        for_each_online_cpu(cpu)
                octeon_wdt_setup_interrupt(cpu);
 
-       register_hotcpu_notifier(&octeon_wdt_cpu_notifier);
+       __register_hotcpu_notifier(&octeon_wdt_cpu_notifier);
+       cpu_notifier_register_done();
+
 out:
        return ret;
 }
@@ -725,7 +728,8 @@ static void __exit octeon_wdt_cleanup(void)
 
        misc_deregister(&octeon_wdt_miscdev);
 
-       unregister_hotcpu_notifier(&octeon_wdt_cpu_notifier);
+       cpu_notifier_register_begin();
+       __unregister_hotcpu_notifier(&octeon_wdt_cpu_notifier);
 
        for_each_online_cpu(cpu) {
                int core = cpu2core(cpu);
@@ -734,6 +738,9 @@ static void __exit octeon_wdt_cleanup(void)
                /* Free the interrupt handler */
                free_irq(OCTEON_IRQ_WDOG0 + core, octeon_wdt_poke_irq);
        }
+
+       cpu_notifier_register_done();
+
        /*
         * Disable the boot-bus memory, the code it points to is soon
         * to go missing.