summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-04-30 01:01:41 -0400
committerWim Van Sebroeck <wim@iguana.be>2013-07-11 14:55:28 -0400
commit52ccc5aca4c9cf35974c1ea3b53fc43044b29361 (patch)
tree37e34a400c665c53a94cd401192e9c4c01625894 /drivers/watchdog
parent3666eb028827c3a9df942cbc0a16388898c5a686 (diff)
watchdog: rc32434_wdt: use devm_ioremap_nocache() functions
Use devm_ioremap_nocache() functions to make cleanup paths simpler. Signed-off-by: Jingoo Han <jg1.han@samsung.com> 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/rc32434_wdt.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/watchdog/rc32434_wdt.c b/drivers/watchdog/rc32434_wdt.c
index f78bc008cbb7..9cf6bc7a234f 100644
--- a/drivers/watchdog/rc32434_wdt.c
+++ b/drivers/watchdog/rc32434_wdt.c
@@ -32,6 +32,7 @@
32#include <linux/platform_device.h> /* For platform_driver framework */ 32#include <linux/platform_device.h> /* For platform_driver framework */
33#include <linux/spinlock.h> /* For spin_lock/spin_unlock/... */ 33#include <linux/spinlock.h> /* For spin_lock/spin_unlock/... */
34#include <linux/uaccess.h> /* For copy_to_user/put_user/... */ 34#include <linux/uaccess.h> /* For copy_to_user/put_user/... */
35#include <linux/io.h> /* For devm_ioremap_nocache */
35 36
36#include <asm/mach-rc32434/integ.h> /* For the Watchdog registers */ 37#include <asm/mach-rc32434/integ.h> /* For the Watchdog registers */
37 38
@@ -271,7 +272,7 @@ static int rc32434_wdt_probe(struct platform_device *pdev)
271 return -ENODEV; 272 return -ENODEV;
272 } 273 }
273 274
274 wdt_reg = ioremap_nocache(r->start, resource_size(r)); 275 wdt_reg = devm_ioremap_nocache(&pdev->dev, r->start, resource_size(r));
275 if (!wdt_reg) { 276 if (!wdt_reg) {
276 pr_err("failed to remap I/O resources\n"); 277 pr_err("failed to remap I/O resources\n");
277 return -ENXIO; 278 return -ENXIO;
@@ -293,23 +294,18 @@ static int rc32434_wdt_probe(struct platform_device *pdev)
293 ret = misc_register(&rc32434_wdt_miscdev); 294 ret = misc_register(&rc32434_wdt_miscdev);
294 if (ret < 0) { 295 if (ret < 0) {
295 pr_err("failed to register watchdog device\n"); 296 pr_err("failed to register watchdog device\n");
296 goto unmap; 297 return ret;
297 } 298 }
298 299
299 pr_info("Watchdog Timer version " VERSION ", timer margin: %d sec\n", 300 pr_info("Watchdog Timer version " VERSION ", timer margin: %d sec\n",
300 timeout); 301 timeout);
301 302
302 return 0; 303 return 0;
303
304unmap:
305 iounmap(wdt_reg);
306 return ret;
307} 304}
308 305
309static int rc32434_wdt_remove(struct platform_device *pdev) 306static int rc32434_wdt_remove(struct platform_device *pdev)
310{ 307{
311 misc_deregister(&rc32434_wdt_miscdev); 308 misc_deregister(&rc32434_wdt_miscdev);
312 iounmap(wdt_reg);
313 return 0; 309 return 0;
314} 310}
315 311