atl1c: Fix misuse of netdev_alloc_skb in refilling rx ring
[sfrench/cifs-2.6.git] / drivers / watchdog / rc32434_wdt.c
index f78bc008cbb71b5695b00b5e6c4edec4509f2175..9cf6bc7a234f8d7bad6df0cd2733fead4cf11301 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;
 }