Clean-up driver:
* make release the reverse of probe so that both are consistent
* add WDIOC_GETSTATUS & WDIOC_GETBOOTSTATUS ioctls.
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
error = copy_to_user(argp, &winfo, sizeof(winfo));
break;
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;
case WDIOC_KEEPALIVE:
ts72xx_wdt_kick(wdt);
break;
error = misc_deregister(&ts72xx_wdt_miscdev);
platform_set_drvdata(pdev, NULL);
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->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;
}
kfree(wdt);
return error;
}