Add support for optional devicetree property 'timeout-sec'.
'timeout-sec' is used in the driver if specified in devicetree.
Otherwise, fall back to driver default, i.e., 60 seconds

Signed-off-by: Ray Jui <ray....@broadcom.com>
Reviewed-by: Scott Branden <scott.bran...@broadcom.com>
---
 drivers/watchdog/sp805_wdt.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c
index 03805bc..1484609 100644
--- a/drivers/watchdog/sp805_wdt.c
+++ b/drivers/watchdog/sp805_wdt.c
@@ -230,7 +230,14 @@ sp805_wdt_probe(struct amba_device *adev, const struct 
amba_id *id)
        spin_lock_init(&wdt->lock);
        watchdog_set_nowayout(&wdt->wdd, nowayout);
        watchdog_set_drvdata(&wdt->wdd, wdt);
-       wdt_setload(&wdt->wdd, DEFAULT_TIMEOUT);
+
+       /*
+        * If 'timeout-sec' devicetree property is specified, use that.
+        * Otherwise, use DEFAULT_TIMEOUT
+        */
+       wdt->wdd.timeout = DEFAULT_TIMEOUT;
+       watchdog_init_timeout(&wdt->wdd, 0, &adev->dev);
+       wdt_setload(&wdt->wdd, wdt->wdd.timeout);
 
        ret = watchdog_register_device(&wdt->wdd);
        if (ret) {
-- 
2.1.4

Reply via email to