[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180716121909.4869-2-michele.dionisio@gmail.com>
Date: Mon, 16 Jul 2018 14:19:09 +0200
From: michele.dionisio@...il.com
To: wim@...ux-watchdog.org, linux@...ck-us.net,
linux-watchdog@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Michele Dionisio <michele.dionisio@...ersoft.com>,
Michele Dionisio <michele.dionisio@...il.com>
Subject: watchdog: davinci_wdt: add possibility to configure watchdog period
From: Michele Dionisio <michele.dionisio@...ersoft.com>
It is not possible to implement setting of watchdog period because it is
not possible to stop watchdog so it is nice to have possibility to
configure watchdog period at module loading.
Signed-off-by: Michele Dionisio <michele.dionisio@...il.com>
diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
index 6c6594261cb7..5f95afa20fee 100644
--- a/drivers/watchdog/davinci_wdt.c
+++ b/drivers/watchdog/davinci_wdt.c
@@ -54,6 +54,10 @@
#define WDKEY_SEQ0 (0xa5c6 << 16)
#define WDKEY_SEQ1 (0xda7e << 16)
+static unsigned int init_timeout;
+module_param(init_timeout, uint, 0);
+MODULE_PARM_DESC(init_timeout, "initial watchdog timeout (in seconds)");
+
static int heartbeat;
/*
@@ -223,8 +227,10 @@ static int davinci_wdt_probe(struct platform_device *pdev)
wdd->ops = &davinci_wdt_ops;
wdd->min_timeout = 1;
wdd->max_timeout = MAX_HEARTBEAT;
- wdd->timeout = DEFAULT_HEARTBEAT;
- wdd->parent = &pdev->dev;
+ if ((init_timeout >= 1) && (init_timeout <= MAX_HEARTBEAT))
+ wdd->timeout = init_timeout;
+ else
+ wdd->timeout = DEFAULT_HEARTBEAT;
watchdog_init_timeout(wdd, heartbeat, dev);
Powered by blists - more mailing lists