summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2014-10-16 16:01:05 -0400
committerWim Van Sebroeck <wim@iguana.be>2015-02-17 15:32:21 -0500
commita6f8f81ec77ba5e5f0b3249dfd3fc554ac5db117 (patch)
tree4a6efc900239b2a1cea708a5dc3a3cd5ebfd74ad /drivers/watchdog
parentb91b5be5ba92f2bc8018a900239cd07150639b5b (diff)
watchdog: rt2880_wdt: minor clean up
Replace device_reset() with devm_reset_control_get() + reset_control_deassert(). Make use of watchdog_init_timeout() instead of setting the timeout manually. Signed-off-by: John Crispin <blogic@openwrt.org> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/rt2880_wdt.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/watchdog/rt2880_wdt.c b/drivers/watchdog/rt2880_wdt.c
index 11aad5b7aafe..a6f7e2e29beb 100644
--- a/drivers/watchdog/rt2880_wdt.c
+++ b/drivers/watchdog/rt2880_wdt.c
@@ -45,6 +45,7 @@
45static struct clk *rt288x_wdt_clk; 45static struct clk *rt288x_wdt_clk;
46static unsigned long rt288x_wdt_freq; 46static unsigned long rt288x_wdt_freq;
47static void __iomem *rt288x_wdt_base; 47static void __iomem *rt288x_wdt_base;
48static struct reset_control *rt288x_wdt_reset;
48 49
49static bool nowayout = WATCHDOG_NOWAYOUT; 50static bool nowayout = WATCHDOG_NOWAYOUT;
50module_param(nowayout, bool, 0); 51module_param(nowayout, bool, 0);
@@ -151,16 +152,18 @@ static int rt288x_wdt_probe(struct platform_device *pdev)
151 if (IS_ERR(rt288x_wdt_clk)) 152 if (IS_ERR(rt288x_wdt_clk))
152 return PTR_ERR(rt288x_wdt_clk); 153 return PTR_ERR(rt288x_wdt_clk);
153 154
154 device_reset(&pdev->dev); 155 rt288x_wdt_reset = devm_reset_control_get(&pdev->dev, NULL);
156 if (!IS_ERR(rt288x_wdt_reset))
157 reset_control_deassert(rt288x_wdt_reset);
155 158
156 rt288x_wdt_freq = clk_get_rate(rt288x_wdt_clk) / RALINK_WDT_PRESCALE; 159 rt288x_wdt_freq = clk_get_rate(rt288x_wdt_clk) / RALINK_WDT_PRESCALE;
157 160
158 rt288x_wdt_dev.dev = &pdev->dev; 161 rt288x_wdt_dev.dev = &pdev->dev;
159 rt288x_wdt_dev.bootstatus = rt288x_wdt_bootcause(); 162 rt288x_wdt_dev.bootstatus = rt288x_wdt_bootcause();
160
161 rt288x_wdt_dev.max_timeout = (0xfffful / rt288x_wdt_freq); 163 rt288x_wdt_dev.max_timeout = (0xfffful / rt288x_wdt_freq);
162 rt288x_wdt_dev.timeout = rt288x_wdt_dev.max_timeout;
163 164
165 watchdog_init_timeout(&rt288x_wdt_dev, rt288x_wdt_dev.max_timeout,
166 &pdev->dev);
164 watchdog_set_nowayout(&rt288x_wdt_dev, nowayout); 167 watchdog_set_nowayout(&rt288x_wdt_dev, nowayout);
165 168
166 ret = watchdog_register_device(&rt288x_wdt_dev); 169 ret = watchdog_register_device(&rt288x_wdt_dev);