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