video: xilinxfb: Simplify error path
devm_iounmap is called automatically that's why remove it from the code dev_set_drvdata(dev, NULL) is called by generic code after device_release or on probe failure. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
5c128df747
commit
718b90ac4c
1 changed files with 6 additions and 18 deletions
|
@ -260,10 +260,9 @@ static int xilinxfb_assign(struct platform_device *pdev,
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
drvdata->regs = devm_ioremap_resource(&pdev->dev, res);
|
drvdata->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||||
if (IS_ERR(drvdata->regs)) {
|
if (IS_ERR(drvdata->regs))
|
||||||
rc = PTR_ERR(drvdata->regs);
|
return PTR_ERR(drvdata->regs);
|
||||||
goto err_region;
|
|
||||||
}
|
|
||||||
drvdata->regs_phys = res->start;
|
drvdata->regs_phys = res->start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,11 +278,7 @@ static int xilinxfb_assign(struct platform_device *pdev,
|
||||||
|
|
||||||
if (!drvdata->fb_virt) {
|
if (!drvdata->fb_virt) {
|
||||||
dev_err(dev, "Could not allocate frame buffer memory\n");
|
dev_err(dev, "Could not allocate frame buffer memory\n");
|
||||||
rc = -ENOMEM;
|
return -ENOMEM;
|
||||||
if (drvdata->flags & BUS_ACCESS_FLAG)
|
|
||||||
goto err_fbmem;
|
|
||||||
else
|
|
||||||
goto err_region;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Clear (turn to black) the framebuffer */
|
/* Clear (turn to black) the framebuffer */
|
||||||
|
@ -363,11 +358,6 @@ err_cmap:
|
||||||
/* Turn off the display */
|
/* Turn off the display */
|
||||||
xilinx_fb_out32(drvdata, REG_CTRL, 0);
|
xilinx_fb_out32(drvdata, REG_CTRL, 0);
|
||||||
|
|
||||||
err_fbmem:
|
|
||||||
if (drvdata->flags & BUS_ACCESS_FLAG)
|
|
||||||
devm_iounmap(dev, drvdata->regs);
|
|
||||||
|
|
||||||
err_region:
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -392,11 +382,9 @@ static int xilinxfb_release(struct device *dev)
|
||||||
/* Turn off the display */
|
/* Turn off the display */
|
||||||
xilinx_fb_out32(drvdata, REG_CTRL, 0);
|
xilinx_fb_out32(drvdata, REG_CTRL, 0);
|
||||||
|
|
||||||
/* Release the resources, as allocated based on interface */
|
|
||||||
if (drvdata->flags & BUS_ACCESS_FLAG)
|
|
||||||
devm_iounmap(dev, drvdata->regs);
|
|
||||||
#ifdef CONFIG_PPC_DCR
|
#ifdef CONFIG_PPC_DCR
|
||||||
else
|
/* Release the resources, as allocated based on interface */
|
||||||
|
if (!(drvdata->flags & BUS_ACCESS_FLAG))
|
||||||
dcr_unmap(drvdata->dcr_host, drvdata->dcr_len);
|
dcr_unmap(drvdata->dcr_host, drvdata->dcr_len);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue