watchdog: rc32434_wdt: use devm_ioremap_nocache() functions
authorJingoo Han <jg1.han@samsung.com>
Tue, 30 Apr 2013 05:01:41 +0000 (14:01 +0900)
committerWim Van Sebroeck <wim@iguana.be>
Thu, 11 Jul 2013 18:55:28 +0000 (20:55 +0200)
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>
drivers/watchdog/rc32434_wdt.c

index f78bc00..9cf6bc7 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/platform_device.h>     /* For platform_driver framework */
 #include <linux/spinlock.h>            /* For spin_lock/spin_unlock/... */
 #include <linux/uaccess.h>             /* For copy_to_user/put_user/... */
+#include <linux/io.h>                  /* For devm_ioremap_nocache */
 
 #include <asm/mach-rc32434/integ.h>    /* For the Watchdog registers */
 
@@ -271,7 +272,7 @@ static int rc32434_wdt_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       wdt_reg = ioremap_nocache(r->start, resource_size(r));
+       wdt_reg = devm_ioremap_nocache(&pdev->dev, r->start, resource_size(r));
        if (!wdt_reg) {
                pr_err("failed to remap I/O resources\n");
                return -ENXIO;
@@ -293,23 +294,18 @@ static int rc32434_wdt_probe(struct platform_device *pdev)
        ret = misc_register(&rc32434_wdt_miscdev);
        if (ret < 0) {
                pr_err("failed to register watchdog device\n");
-               goto unmap;
+               return ret;
        }
 
        pr_info("Watchdog Timer version " VERSION ", timer margin: %d sec\n",
                timeout);
 
        return 0;
-
-unmap:
-       iounmap(wdt_reg);
-       return ret;
 }
 
 static int rc32434_wdt_remove(struct platform_device *pdev)
 {
        misc_deregister(&rc32434_wdt_miscdev);
-       iounmap(wdt_reg);
        return 0;
 }