The patch titled Subject: watchdog: alim7101: register restart handler with kernel restart handler has been removed from the -mm tree. Its filename was watchdog-alim7101-register-restart-handler-with-kernel-restart-handler.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: Guenter Roeck <linux@xxxxxxxxxxxx> Subject: watchdog: alim7101: register restart handler with kernel restart handler The kernel core now provides an API to trigger a system restart. Register with it to restart the system instead of misusing the reboot notifier. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/watchdog/alim7101_wdt.c | 42 ++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 10 deletions(-) diff -puN drivers/watchdog/alim7101_wdt.c~watchdog-alim7101-register-restart-handler-with-kernel-restart-handler drivers/watchdog/alim7101_wdt.c --- a/drivers/watchdog/alim7101_wdt.c~watchdog-alim7101-register-restart-handler-with-kernel-restart-handler +++ a/drivers/watchdog/alim7101_wdt.c @@ -301,6 +301,28 @@ static struct miscdevice wdt_miscdev = { .fops = &wdt_fops, }; +static int wdt_restart_handle(struct notifier_block *this, unsigned long mode, + void *cmd) +{ + /* + * Cobalt devices have no way of rebooting themselves other + * than getting the watchdog to pull reset, so we restart the + * watchdog on reboot with no heartbeat. + */ + wdt_change(WDT_ENABLE); + + /* loop until the watchdog fires */ + while (true) + ; + + return NOTIFY_DONE; +} + +static struct notifier_block wdt_restart_handler = { + .notifier_call = wdt_restart_handle, + .priority = 128, +}; + /* * Notifier for system down */ @@ -311,15 +333,6 @@ static int wdt_notify_sys(struct notifie if (code == SYS_DOWN || code == SYS_HALT) wdt_turnoff(); - if (code == SYS_RESTART) { - /* - * Cobalt devices have no way of rebooting themselves other - * than getting the watchdog to pull reset, so we restart the - * watchdog on reboot with no heartbeat - */ - wdt_change(WDT_ENABLE); - pr_info("Watchdog timer is now enabled with no heartbeat - should reboot in ~1 second\n"); - } return NOTIFY_DONE; } @@ -338,6 +351,7 @@ static void __exit alim7101_wdt_unload(v /* Deregister */ misc_deregister(&wdt_miscdev); unregister_reboot_notifier(&wdt_notifier); + unregister_restart_handler(&wdt_restart_handler); pci_dev_put(alim7101_pmu); } @@ -390,11 +404,17 @@ static int __init alim7101_wdt_init(void goto err_out; } + rc = register_restart_handler(&wdt_restart_handler); + if (rc) { + pr_err("cannot register restart handler (err=%d)\n", rc); + goto err_out_reboot; + } + rc = misc_register(&wdt_miscdev); if (rc) { pr_err("cannot register miscdev on minor=%d (err=%d)\n", wdt_miscdev.minor, rc); - goto err_out_reboot; + goto err_out_restart; } if (nowayout) @@ -404,6 +424,8 @@ static int __init alim7101_wdt_init(void timeout, nowayout); return 0; +err_out_restart: + unregister_restart_handler(&wdt_restart_handler); err_out_reboot: unregister_reboot_notifier(&wdt_notifier); err_out: _ Patches currently in -mm which might be from linux@xxxxxxxxxxxx are documentation-dt-bindings-trickle-charger-dt-binding-document-for-ds1339.patch rtc-ds1307-add-trickle-charger-device-tree-binding.patch rtc-bq32000-add-trickle-charger-option-with-device-tree-binding.patch rtc-bq32000-add-trickle-charger-device-tree-binding.patch linux-next.patch watchdog-s3c2410-add-restart-handler.patch clk-samsung-register-restart-handlers-for-s3c2412-and-s3c2443.patch clk-rockchip-add-restart-handler.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html