|
@@ -373,22 +373,21 @@ void watchdog_nmi_start(void)
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
- * This runs after lockup_detector_init() which sets up watchdog_cpumask.
|
|
|
|
|
|
+ * Invoked from core watchdog init.
|
|
*/
|
|
*/
|
|
-static int __init powerpc_watchdog_init(void)
|
|
|
|
|
|
+int __init watchdog_nmi_probe(void)
|
|
{
|
|
{
|
|
int err;
|
|
int err;
|
|
|
|
|
|
- watchdog_calc_timeouts();
|
|
|
|
-
|
|
|
|
- err = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "powerpc/watchdog:online",
|
|
|
|
- start_wd_on_cpu, stop_wd_on_cpu);
|
|
|
|
- if (err < 0)
|
|
|
|
|
|
+ err = cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN,
|
|
|
|
+ "powerpc/watchdog:online",
|
|
|
|
+ start_wd_on_cpu, stop_wd_on_cpu);
|
|
|
|
+ if (err < 0) {
|
|
pr_warn("Watchdog could not be initialized");
|
|
pr_warn("Watchdog could not be initialized");
|
|
-
|
|
|
|
|
|
+ return err;
|
|
|
|
+ }
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
-arch_initcall(powerpc_watchdog_init);
|
|
|
|
|
|
|
|
static void handle_backtrace_ipi(struct pt_regs *regs)
|
|
static void handle_backtrace_ipi(struct pt_regs *regs)
|
|
{
|
|
{
|