From bb6d7721ac3af6820edc4b17deccf1c91261da81 Mon Sep 17 00:00:00 2001 From: Artem Lapkin Date: Fri, 30 Jul 2021 12:13:53 +0800 Subject: [PATCH] watchdog: meson_gxbb_wdt: add nowayout parameter Add nowayout module parameter Signed-off-by: Artem Lapkin Reviewed-by: Guenter Roeck Link: https://lore.kernel.org/r/20210730041355.2810397-2-art@khadas.com Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck --- drivers/watchdog/meson_gxbb_wdt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/watchdog/meson_gxbb_wdt.c b/drivers/watchdog/meson_gxbb_wdt.c index 5a9ca10fbcfa..5aebc3a09652 100644 --- a/drivers/watchdog/meson_gxbb_wdt.c +++ b/drivers/watchdog/meson_gxbb_wdt.c @@ -29,6 +29,11 @@ #define GXBB_WDT_TCNT_SETUP_MASK (BIT(16) - 1) #define GXBB_WDT_TCNT_CNT_SHIFT 16 +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) ")"); + struct meson_gxbb_wdt { void __iomem *reg_base; struct watchdog_device wdt_dev; @@ -175,6 +180,7 @@ static int meson_gxbb_wdt_probe(struct platform_device *pdev) data->wdt_dev.max_hw_heartbeat_ms = GXBB_WDT_TCNT_SETUP_MASK; data->wdt_dev.min_timeout = 1; data->wdt_dev.timeout = DEFAULT_TIMEOUT; + watchdog_set_nowayout(&data->wdt_dev, nowayout); watchdog_set_drvdata(&data->wdt_dev, data); /* Setup with 1ms timebase */