summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog/rc32434_wdt.c
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-04-30 07:01:41 +0200
committerWim Van Sebroeck <wim@iguana.be>2013-07-11 20:55:28 +0200
commit52ccc5aca4c9cf35974c1ea3b53fc43044b29361 (patch)
tree37e34a400c665c53a94cd401192e9c4c01625894 /drivers/watchdog/rc32434_wdt.c
parentwatchdog: nuc900_wdt: use devm_*() functions (diff)
downloadlinux-52ccc5aca4c9cf35974c1ea3b53fc43044b29361.tar.xz
linux-52ccc5aca4c9cf35974c1ea3b53fc43044b29361.zip
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/rc32434_wdt.c')
-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 @@
#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;
}