static int mcp_sa11x0_remove(struct platform_device *dev) { struct mcp *mcp = platform_get_drvdata(dev); platform_set_drvdata(dev, NULL); mcp_host_unregister(mcp); release_mem_region(0x80060000, 0x60); return 0; }
static int mcp_sa11x0_remove(struct platform_device *pdev) { struct mcp *mcp = platform_get_drvdata(pdev); struct mcp_sa11x0 *priv = priv(mcp); struct resource *res_mem; u32 size; platform_set_drvdata(pdev, NULL); mcp_host_unregister(mcp); res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (res_mem) { size = res_mem->end - res_mem->start + 1; release_mem_region(res_mem->start, size); } res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 1); if (res_mem) { size = res_mem->end - res_mem->start + 1; release_mem_region(res_mem->start, size); } iounmap(priv->mccr0_base); iounmap(priv->mccr1_base); return 0; }