]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
watchdog: da9052_wdt: use timeout value from external inputs
authorMarcus Folkesson <marcus.folkesson@gmail.com>
Wed, 26 Mar 2025 08:29:49 +0000 (09:29 +0100)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Sat, 24 May 2025 14:57:51 +0000 (16:57 +0200)
Introduce the `timeout` module parameter and pass it to
watchdog_init_timeout(). If the parameter is not set or contains an
invalid value, fallback on the `timeout-secs` devicetree property value.

If none of the above is valid, go for the old default value.

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-2-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 a8ff1e6a7903f6f139c5bb60d7d92ca39077ee04..fa9078d4c136a52f1193768fe93dc04189519679 100644 (file)
@@ -36,6 +36,12 @@ MODULE_PARM_DESC(nowayout,
                 "Watchdog cannot be stopped once started (default="
                 __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
 
+static int timeout;
+module_param(timeout, int, 0);
+MODULE_PARM_DESC(timeout,
+       "Watchdog timeout in seconds. (default = "
+       __MODULE_STRING(WDT_DEFAULT_TIMEOUT) ")");
+
 static const struct {
        u8 reg_val;
        int time;  /* Seconds */
@@ -178,6 +184,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_init_timeout(da9052_wdt, timeout, dev);
        watchdog_set_nowayout(da9052_wdt, nowayout);
 
        if (da9052->fault_log & DA9052_FAULTLOG_TWDERROR)