diff options
author | John Crispin <blogic@openwrt.org> | 2014-10-16 16:01:05 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2015-02-17 15:32:21 -0500 |
commit | a6f8f81ec77ba5e5f0b3249dfd3fc554ac5db117 (patch) | |
tree | 4a6efc900239b2a1cea708a5dc3a3cd5ebfd74ad /drivers/watchdog | |
parent | b91b5be5ba92f2bc8018a900239cd07150639b5b (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.c | 9 |
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 @@ | |||
45 | static struct clk *rt288x_wdt_clk; | 45 | static struct clk *rt288x_wdt_clk; |
46 | static unsigned long rt288x_wdt_freq; | 46 | static unsigned long rt288x_wdt_freq; |
47 | static void __iomem *rt288x_wdt_base; | 47 | static void __iomem *rt288x_wdt_base; |
48 | static struct reset_control *rt288x_wdt_reset; | ||
48 | 49 | ||
49 | static bool nowayout = WATCHDOG_NOWAYOUT; | 50 | static bool nowayout = WATCHDOG_NOWAYOUT; |
50 | module_param(nowayout, bool, 0); | 51 | module_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); |