aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/watchdog/at91sam9_wdt.c
diff options
context:
space:
mode:
authorFabio Porcedda <fabio.porcedda@gmail.com>2013-02-14 03:14:25 -0500
committerWim Van Sebroeck <wim@iguana.be>2013-03-01 06:53:45 -0500
commitc1fd5f6402050b2463d0610b94f050fedf1b5019 (patch)
tree7ff33e78c2a4f40b3465d163c03382db0d4d500f /drivers/watchdog/at91sam9_wdt.c
parent490ac7af8b71069ba0c733052c5f448ac070c947 (diff)
watchdog: add timeout-sec property binding
this patchset add the timeout-sec property to the following drivers: orion_wdt, pnx4008_wdt, s3c2410_wdt and at91sam9_wdt. The at91sam9_wdt is tested on evk-pr3, the other drivers are compile tested only. Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Cc: Andrew Lunn <andrew@lunn.ch> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Wolfram Sang <w.sang@pengutronix.de> Cc: Masanari Iida <standby24x7@gmail.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: Andrew Victor <linux@maxim.org.za> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog/at91sam9_wdt.c')
-rw-r--r--drivers/watchdog/at91sam9_wdt.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c
index 8038b20284ce..be37dde4f864 100644
--- a/drivers/watchdog/at91sam9_wdt.c
+++ b/drivers/watchdog/at91sam9_wdt.c
@@ -56,7 +56,7 @@
56 56
57/* User land timeout */ 57/* User land timeout */
58#define WDT_HEARTBEAT 15 58#define WDT_HEARTBEAT 15
59static int heartbeat = WDT_HEARTBEAT; 59static int heartbeat;
60module_param(heartbeat, int, 0); 60module_param(heartbeat, int, 0);
61MODULE_PARM_DESC(heartbeat, "Watchdog heartbeats in seconds. " 61MODULE_PARM_DESC(heartbeat, "Watchdog heartbeats in seconds. "
62 "(default = " __MODULE_STRING(WDT_HEARTBEAT) ")"); 62 "(default = " __MODULE_STRING(WDT_HEARTBEAT) ")");
@@ -176,6 +176,7 @@ static const struct watchdog_ops at91_wdt_ops = {
176static struct watchdog_device at91_wdt_dev = { 176static struct watchdog_device at91_wdt_dev = {
177 .info = &at91_wdt_info, 177 .info = &at91_wdt_info,
178 .ops = &at91_wdt_ops, 178 .ops = &at91_wdt_ops,
179 .timeout = WDT_HEARTBEAT,
179 .min_timeout = 1, 180 .min_timeout = 1,
180 .max_timeout = 0xFFFF, 181 .max_timeout = 0xFFFF,
181}; 182};
@@ -194,8 +195,8 @@ static int __init at91wdt_probe(struct platform_device *pdev)
194 return -ENOMEM; 195 return -ENOMEM;
195 } 196 }
196 197
197 at91_wdt_dev.timeout = heartbeat;
198 at91_wdt_dev.parent = &pdev->dev; 198 at91_wdt_dev.parent = &pdev->dev;
199 watchdog_init_timeout(&at91_wdt_dev, heartbeat, &pdev->dev);
199 watchdog_set_nowayout(&at91_wdt_dev, nowayout); 200 watchdog_set_nowayout(&at91_wdt_dev, nowayout);
200 201
201 /* Set watchdog */ 202 /* Set watchdog */
@@ -212,7 +213,7 @@ static int __init at91wdt_probe(struct platform_device *pdev)
212 mod_timer(&at91wdt_private.timer, jiffies + WDT_TIMEOUT); 213 mod_timer(&at91wdt_private.timer, jiffies + WDT_TIMEOUT);
213 214
214 pr_info("enabled (heartbeat=%d sec, nowayout=%d)\n", 215 pr_info("enabled (heartbeat=%d sec, nowayout=%d)\n",
215 heartbeat, nowayout); 216 at91_wdt_dev.timeout, nowayout);
216 217
217 return 0; 218 return 0;
218} 219}