Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
[safe/jmp/linux-2.6] / drivers / watchdog / ts72xx_wdt.c
index c4a4d37..458c499 100644 (file)
@@ -20,6 +20,7 @@
 #include <linux/miscdevice.h>
 #include <linux/mutex.h>
 #include <linux/platform_device.h>
+#include <linux/slab.h>
 #include <linux/watchdog.h>
 #include <linux/uaccess.h>
 
@@ -307,6 +308,10 @@ static long ts72xx_wdt_ioctl(struct file *file, unsigned int cmd,
                error = copy_to_user(argp, &winfo, sizeof(winfo));
                break;
 
+       case WDIOC_GETSTATUS:
+       case WDIOC_GETBOOTSTATUS:
+               return put_user(0, p);
+
        case WDIOC_KEEPALIVE:
                ts72xx_wdt_kick(wdt);
                break;
@@ -477,14 +482,14 @@ static __devexit int ts72xx_wdt_remove(struct platform_device *pdev)
        error = misc_deregister(&ts72xx_wdt_miscdev);
        platform_set_drvdata(pdev, NULL);
 
-       iounmap(wdt->control_reg);
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       release_mem_region(res->start, resource_size(res));
-
        iounmap(wdt->feed_reg);
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
        release_mem_region(res->start, resource_size(res));
 
+       iounmap(wdt->control_reg);
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       release_mem_region(res->start, resource_size(res));
+
        kfree(wdt);
        return error;
 }