diff options
Diffstat (limited to 'target/linux/bcm53xx/patches-3.18/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch')
-rw-r--r-- | target/linux/bcm53xx/patches-3.18/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/target/linux/bcm53xx/patches-3.18/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch b/target/linux/bcm53xx/patches-3.18/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch deleted file mode 100644 index 76123e9..0000000 --- a/target/linux/bcm53xx/patches-3.18/080-watchdog-bcm47xx_wdt.c-add-restart-handler-support.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 823769d2e6622a48276bee35b2dad5ba77cbdc25 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> -Date: Sun, 25 Jan 2015 11:40:57 +0100 -Subject: [PATCH] watchdog: bcm47xx_wdt.c: add restart handler support -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Just like in case of other watchdog drivers, use the new kernel core -API to provide restart support. - -Signed-off-by: Rafał Miłecki <zajec5@gmail.com> -Reviewed-by: Guenter Roeck <linux@roeck-us.net> -Signed-off-by: Wim Van Sebroeck <wim@iguana.be> ---- - drivers/watchdog/bcm47xx_wdt.c | 21 ++++++++++++++++++++- - include/linux/bcm47xx_wdt.h | 1 + - 2 files changed, 21 insertions(+), 1 deletion(-) - ---- a/drivers/watchdog/bcm47xx_wdt.c -+++ b/drivers/watchdog/bcm47xx_wdt.c -@@ -169,6 +169,17 @@ static int bcm47xx_wdt_notify_sys(struct - return NOTIFY_DONE; - } - -+static int bcm47xx_wdt_restart(struct notifier_block *this, unsigned long mode, -+ void *cmd) -+{ -+ struct bcm47xx_wdt *wdt; -+ -+ wdt = container_of(this, struct bcm47xx_wdt, restart_handler); -+ wdt->timer_set(wdt, 1); -+ -+ return NOTIFY_DONE; -+} -+ - static struct watchdog_ops bcm47xx_wdt_soft_ops = { - .owner = THIS_MODULE, - .start = bcm47xx_wdt_soft_start, -@@ -209,15 +220,23 @@ static int bcm47xx_wdt_probe(struct plat - if (ret) - goto err_timer; - -- ret = watchdog_register_device(&wdt->wdd); -+ wdt->restart_handler.notifier_call = &bcm47xx_wdt_restart; -+ wdt->restart_handler.priority = 64; -+ ret = register_restart_handler(&wdt->restart_handler); - if (ret) - goto err_notifier; - -+ ret = watchdog_register_device(&wdt->wdd); -+ if (ret) -+ goto err_handler; -+ - dev_info(&pdev->dev, "BCM47xx Watchdog Timer enabled (%d seconds%s%s)\n", - timeout, nowayout ? ", nowayout" : "", - soft ? ", Software Timer" : ""); - return 0; - -+err_handler: -+ unregister_restart_handler(&wdt->restart_handler); - err_notifier: - unregister_reboot_notifier(&wdt->notifier); - err_timer: ---- a/include/linux/bcm47xx_wdt.h -+++ b/include/linux/bcm47xx_wdt.h -@@ -16,6 +16,7 @@ struct bcm47xx_wdt { - - struct watchdog_device wdd; - struct notifier_block notifier; -+ struct notifier_block restart_handler; - - struct timer_list soft_timer; - atomic_t soft_ticks; |