diff options
Diffstat (limited to 'kernel-devel/module-basics/vain_plat/vain_plat_4.c')
| -rw-r--r-- | kernel-devel/module-basics/vain_plat/vain_plat_4.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/kernel-devel/module-basics/vain_plat/vain_plat_4.c b/kernel-devel/module-basics/vain_plat/vain_plat_4.c new file mode 100644 index 0000000..93a480a --- /dev/null +++ b/kernel-devel/module-basics/vain_plat/vain_plat_4.c @@ -0,0 +1,23 @@ +static int __devexit vain_plat_remove(struct platform_device *pdev) +{ + struct vain_plat_info *info = platform_get_drvdata(pdev); + struct resource *res; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + iounmap(info->base); + release_mem_region(res->start, resource_size(res)); + platform_set_drvdata(pdev, NULL); + + kfree (info); + + return 0; +} + +static struct platform_driver vain_plat_driver = { + .driver = { + .name = "vain_plat", + .owner = THIS_MODULE, + }, + .probe = vain_plat_probe, + .remove = __devexit_p(vain_plat_remove), +}; |
