diff options
author | Fabio Porcedda <fabio.porcedda@gmail.com> | 2013-02-14 03:14:25 -0500 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2013-03-01 06:53:45 -0500 |
commit | c1fd5f6402050b2463d0610b94f050fedf1b5019 (patch) | |
tree | 7ff33e78c2a4f40b3465d163c03382db0d4d500f /drivers/watchdog/pnx4008_wdt.c | |
parent | 490ac7af8b71069ba0c733052c5f448ac070c947 (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/pnx4008_wdt.c')
-rw-r--r-- | drivers/watchdog/pnx4008_wdt.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/watchdog/pnx4008_wdt.c b/drivers/watchdog/pnx4008_wdt.c index de1f3fa1d787..a3684a30eb69 100644 --- a/drivers/watchdog/pnx4008_wdt.c +++ b/drivers/watchdog/pnx4008_wdt.c | |||
@@ -142,6 +142,7 @@ static const struct watchdog_ops pnx4008_wdt_ops = { | |||
142 | static struct watchdog_device pnx4008_wdd = { | 142 | static struct watchdog_device pnx4008_wdd = { |
143 | .info = &pnx4008_wdt_ident, | 143 | .info = &pnx4008_wdt_ident, |
144 | .ops = &pnx4008_wdt_ops, | 144 | .ops = &pnx4008_wdt_ops, |
145 | .timeout = DEFAULT_HEARTBEAT, | ||
145 | .min_timeout = 1, | 146 | .min_timeout = 1, |
146 | .max_timeout = MAX_HEARTBEAT, | 147 | .max_timeout = MAX_HEARTBEAT, |
147 | }; | 148 | }; |
@@ -151,8 +152,7 @@ static int pnx4008_wdt_probe(struct platform_device *pdev) | |||
151 | struct resource *r; | 152 | struct resource *r; |
152 | int ret = 0; | 153 | int ret = 0; |
153 | 154 | ||
154 | if (heartbeat < 1 || heartbeat > MAX_HEARTBEAT) | 155 | watchdog_init_timeout(&pnx4008_wdd, heartbeat, &pdev->dev); |
155 | heartbeat = DEFAULT_HEARTBEAT; | ||
156 | 156 | ||
157 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 157 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
158 | wdt_base = devm_ioremap_resource(&pdev->dev, r); | 158 | wdt_base = devm_ioremap_resource(&pdev->dev, r); |
@@ -167,7 +167,6 @@ static int pnx4008_wdt_probe(struct platform_device *pdev) | |||
167 | if (ret) | 167 | if (ret) |
168 | goto out; | 168 | goto out; |
169 | 169 | ||
170 | pnx4008_wdd.timeout = heartbeat; | ||
171 | pnx4008_wdd.bootstatus = (readl(WDTIM_RES(wdt_base)) & WDOG_RESET) ? | 170 | pnx4008_wdd.bootstatus = (readl(WDTIM_RES(wdt_base)) & WDOG_RESET) ? |
172 | WDIOF_CARDRESET : 0; | 171 | WDIOF_CARDRESET : 0; |
173 | watchdog_set_nowayout(&pnx4008_wdd, nowayout); | 172 | watchdog_set_nowayout(&pnx4008_wdd, nowayout); |
@@ -181,7 +180,7 @@ static int pnx4008_wdt_probe(struct platform_device *pdev) | |||
181 | } | 180 | } |
182 | 181 | ||
183 | dev_info(&pdev->dev, "PNX4008 Watchdog Timer: heartbeat %d sec\n", | 182 | dev_info(&pdev->dev, "PNX4008 Watchdog Timer: heartbeat %d sec\n", |
184 | heartbeat); | 183 | pnx4008_wdd.timeout); |
185 | 184 | ||
186 | return 0; | 185 | return 0; |
187 | 186 | ||