|
@@ -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;
|
|
|
}
|
|
|
|