diff options
Diffstat (limited to 'board/telit/evk-pro3/patches/barebox/0001-watchdog-add-keep-alive-support.patch')
-rw-r--r-- | board/telit/evk-pro3/patches/barebox/0001-watchdog-add-keep-alive-support.patch | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/board/telit/evk-pro3/patches/barebox/0001-watchdog-add-keep-alive-support.patch b/board/telit/evk-pro3/patches/barebox/0001-watchdog-add-keep-alive-support.patch deleted file mode 100644 index 80bd459b56..0000000000 --- a/board/telit/evk-pro3/patches/barebox/0001-watchdog-add-keep-alive-support.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 76e2b190803484db033153fe8a97b381a567ed25 Mon Sep 17 00:00:00 2001 -From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> -Date: Wed, 14 Nov 2012 19:16:35 +0800 -Subject: [PATCH 1/4] watchdog: add keep alive support - -this will allow to ping the watchdog via poller - -Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> -Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> ---- - drivers/watchdog/Kconfig | 1 + - drivers/watchdog/wd_core.c | 25 +++++++++++++++++++++++++ - include/watchdog.h | 2 ++ - 3 files changed, 28 insertions(+) - -diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig -index 63fb1a8c5..7ebff89b9 100644 ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -4,6 +4,7 @@ config WATCHDOG_IMX_RESET_SOURCE - - menuconfig WATCHDOG - bool "Watchdog support" -+ select GENERIC_POLLER - help - Many platforms support a watchdog to keep track of a working machine. - This framework provides routines to handle these watchdogs. -diff --git a/drivers/watchdog/wd_core.c b/drivers/watchdog/wd_core.c -index 3a3f51964..52537afef 100644 ---- a/drivers/watchdog/wd_core.c -+++ b/drivers/watchdog/wd_core.c -@@ -18,6 +18,7 @@ - #include <errno.h> - #include <linux/ctype.h> - #include <watchdog.h> -+#include <poller.h> - - static LIST_HEAD(watchdog_list); - -@@ -31,6 +32,20 @@ static const char *watchdog_name(struct watchdog *wd) - return "unknown"; - } - -+static struct watchdog *watchdog_get_default(void); -+ -+static void watchdog_poller_func(struct poller_struct *poller) -+{ -+ struct watchdog *wd = watchdog_get_default(); -+ -+ if (wd) -+ wd->keep_alive(wd); -+} -+ -+static struct poller_struct watchdog_poller = { -+ .func = watchdog_poller_func, -+}; -+ - int watchdog_register(struct watchdog *wd) - { - if (!wd->priority) -@@ -41,6 +56,16 @@ int watchdog_register(struct watchdog *wd) - pr_debug("registering watchdog %s with priority %d\n", watchdog_name(wd), - wd->priority); - -+ -+ if (wd->keep_alive) { -+ int ret; -+ -+ ret = poller_register(&watchdog_poller); -+ if (ret) { -+ return ret; -+ } -+ } -+ - return 0; - } - EXPORT_SYMBOL(watchdog_register); -diff --git a/include/watchdog.h b/include/watchdog.h -index 3e8a487a4..a2660c2e0 100644 ---- a/include/watchdog.h -+++ b/include/watchdog.h -@@ -13,12 +13,14 @@ - #ifndef INCLUDE_WATCHDOG_H - # define INCLUDE_WATCHDOG_H - -+ - struct watchdog { - int (*set_timeout)(struct watchdog *, unsigned); - const char *name; - struct device_d *dev; - unsigned int priority; - struct list_head list; -+ void (*keep_alive)(struct watchdog *); - }; - - #ifdef CONFIG_WATCHDOG --- -2.12.0 - |