watchdog: da9052_wdt: add support for nowayout
authorMarcus Folkesson <marcus.folkesson@gmail.com>
Wed, 26 Mar 2025 08:29:48 +0000 (09:29 +0100)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Sat, 24 May 2025 14:57:50 +0000 (16:57 +0200)
Add nowayout module parameter for not stopping the
watchdog when userspace application quits.

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20250326-da9052-fixes-v3-1-a38a560fef0e@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/da9052_wdt.c

index 77039f2f0be54273df1666fe40c413b6c89285a1..a8ff1e6a7903f6f139c5bb60d7d92ca39077ee04 100644 (file)
@@ -30,6 +30,12 @@ struct da9052_wdt_data {
        unsigned long jpast;
 };
 
+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) ")");
+
 static const struct {
        u8 reg_val;
        int time;  /* Seconds */
@@ -172,6 +178,7 @@ static int da9052_wdt_probe(struct platform_device *pdev)
        da9052_wdt->ops = &da9052_wdt_ops;
        da9052_wdt->parent = dev;
        watchdog_set_drvdata(da9052_wdt, driver_data);
+       watchdog_set_nowayout(da9052_wdt, nowayout);
 
        if (da9052->fault_log & DA9052_FAULTLOG_TWDERROR)
                da9052_wdt->bootstatus |= WDIOF_CARDRESET;