2019-05-28 09:12:37

by Måns Rullgård

[permalink] [raw]
Subject: [PATCH] watchdog: gpio: add support for nowayout option

Add support for the nowayout option in the gpio watchdog driver.

Signed-off-by: Mans Rullgard <[email protected]>
---
drivers/watchdog/gpio_wdt.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/watchdog/gpio_wdt.c b/drivers/watchdog/gpio_wdt.c
index ea77cae03c9d..63792bb70213 100644
--- a/drivers/watchdog/gpio_wdt.c
+++ b/drivers/watchdog/gpio_wdt.c
@@ -17,6 +17,12 @@
#include <linux/platform_device.h>
#include <linux/watchdog.h>

+static bool nowayout = WATCHDOG_NOWAYOUT;
+module_param(nowayout, bool, 0);
+MODULE_PARM_DESC(nowayout,
+ "Watchdog cannot be stopped once started (default="
+ __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+
#define SOFT_TIMEOUT_MIN 1
#define SOFT_TIMEOUT_DEF 60

@@ -155,6 +161,7 @@ static int gpio_wdt_probe(struct platform_device *pdev)
priv->wdd.timeout = SOFT_TIMEOUT_DEF;

watchdog_init_timeout(&priv->wdd, 0, &pdev->dev);
+ watchdog_set_nowayout(&priv->wdd, nowayout);

watchdog_stop_on_reboot(&priv->wdd);

--
2.21.0


2019-05-28 13:28:06

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] watchdog: gpio: add support for nowayout option

On 5/28/19 2:09 AM, Mans Rullgard wrote:
> Add support for the nowayout option in the gpio watchdog driver.
>
> Signed-off-by: Mans Rullgard <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

> ---
> drivers/watchdog/gpio_wdt.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/watchdog/gpio_wdt.c b/drivers/watchdog/gpio_wdt.c
> index ea77cae03c9d..63792bb70213 100644
> --- a/drivers/watchdog/gpio_wdt.c
> +++ b/drivers/watchdog/gpio_wdt.c
> @@ -17,6 +17,12 @@
> #include <linux/platform_device.h>
> #include <linux/watchdog.h>
>
> +static bool nowayout = WATCHDOG_NOWAYOUT;
> +module_param(nowayout, bool, 0);
> +MODULE_PARM_DESC(nowayout,
> + "Watchdog cannot be stopped once started (default="
> + __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
> +
> #define SOFT_TIMEOUT_MIN 1
> #define SOFT_TIMEOUT_DEF 60
>
> @@ -155,6 +161,7 @@ static int gpio_wdt_probe(struct platform_device *pdev)
> priv->wdd.timeout = SOFT_TIMEOUT_DEF;
>
> watchdog_init_timeout(&priv->wdd, 0, &pdev->dev);
> + watchdog_set_nowayout(&priv->wdd, nowayout);
>
> watchdog_stop_on_reboot(&priv->wdd);
>
>