Commit 3fb99ce4 authored by Grant Likely's avatar Grant Likely

[POWERPC] XilinxFB: rename failout labels to reflect failure

Labels and gotos are used in xilinxfb_assign to unwind allocations
on device registration failures.  Rename the labels to reflect the
error which occured.  This change is being made to make it easier
to add new failout paths (which occurs in a subsuquent patch) and
to make reviewing the failout path easier.
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
Acked-by: default avatarAndrei Konovalov <akonovalov@ru.mvista.com>
parent 3cb3ec2c
...@@ -225,14 +225,14 @@ xilinxfb_drv_probe(struct device *dev) ...@@ -225,14 +225,14 @@ xilinxfb_drv_probe(struct device *dev)
if (!regs_res || (regs_res->end - regs_res->start + 1 < 8)) { if (!regs_res || (regs_res->end - regs_res->start + 1 < 8)) {
dev_err(dev, "Couldn't get registers resource\n"); dev_err(dev, "Couldn't get registers resource\n");
retval = -EFAULT; retval = -EFAULT;
goto failed1; goto err_region;
} }
if (!request_mem_region(regs_res->start, 8, DRIVER_NAME)) { if (!request_mem_region(regs_res->start, 8, DRIVER_NAME)) {
dev_err(dev, "Couldn't lock memory region at 0x%08X\n", dev_err(dev, "Couldn't lock memory region at 0x%08X\n",
regs_res->start); regs_res->start);
retval = -EBUSY; retval = -EBUSY;
goto failed1; goto err_region;
} }
drvdata->regs = (u32 __iomem*) ioremap(regs_res->start, 8); drvdata->regs = (u32 __iomem*) ioremap(regs_res->start, 8);
drvdata->regs_phys = regs_res->start; drvdata->regs_phys = regs_res->start;
...@@ -243,7 +243,7 @@ xilinxfb_drv_probe(struct device *dev) ...@@ -243,7 +243,7 @@ xilinxfb_drv_probe(struct device *dev)
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");
retval = -ENOMEM; retval = -ENOMEM;
goto failed2; goto err_fbmem;
} }
/* Clear (turn to black) the framebuffer */ /* Clear (turn to black) the framebuffer */
...@@ -270,7 +270,7 @@ xilinxfb_drv_probe(struct device *dev) ...@@ -270,7 +270,7 @@ xilinxfb_drv_probe(struct device *dev)
dev_err(dev, "Fail to allocate colormap (%d entries)\n", dev_err(dev, "Fail to allocate colormap (%d entries)\n",
PALETTE_ENTRIES_NO); PALETTE_ENTRIES_NO);
retval = -EFAULT; retval = -EFAULT;
goto failed3; goto err_cmap;
} }
drvdata->info.flags = FBINFO_DEFAULT; drvdata->info.flags = FBINFO_DEFAULT;
...@@ -284,7 +284,7 @@ xilinxfb_drv_probe(struct device *dev) ...@@ -284,7 +284,7 @@ xilinxfb_drv_probe(struct device *dev)
if (register_framebuffer(&drvdata->info) < 0) { if (register_framebuffer(&drvdata->info) < 0) {
dev_err(dev, "Could not register frame buffer\n"); dev_err(dev, "Could not register frame buffer\n");
retval = -EINVAL; retval = -EINVAL;
goto failed4; goto err_regfb;
} }
/* Put a banner in the log (for DEBUG) */ /* Put a banner in the log (for DEBUG) */
...@@ -294,10 +294,10 @@ xilinxfb_drv_probe(struct device *dev) ...@@ -294,10 +294,10 @@ xilinxfb_drv_probe(struct device *dev)
(void*)drvdata->fb_phys, drvdata->fb_virt, FB_SIZE); (void*)drvdata->fb_phys, drvdata->fb_virt, FB_SIZE);
return 0; /* success */ return 0; /* success */
failed4: err_regfb:
fb_dealloc_cmap(&drvdata->info.cmap); fb_dealloc_cmap(&drvdata->info.cmap);
failed3: err_cmap:
dma_free_coherent(dev, PAGE_ALIGN(FB_SIZE), drvdata->fb_virt, dma_free_coherent(dev, PAGE_ALIGN(FB_SIZE), drvdata->fb_virt,
drvdata->fb_phys); drvdata->fb_phys);
...@@ -305,10 +305,10 @@ xilinxfb_drv_probe(struct device *dev) ...@@ -305,10 +305,10 @@ xilinxfb_drv_probe(struct device *dev)
xilinx_fb_out_be32(drvdata, REG_CTRL, 0); xilinx_fb_out_be32(drvdata, REG_CTRL, 0);
iounmap(drvdata->regs); iounmap(drvdata->regs);
failed2: err_fbmem:
release_mem_region(regs_res->start, 8); release_mem_region(regs_res->start, 8);
failed1: err_region:
kfree(drvdata); kfree(drvdata);
dev_set_drvdata(dev, NULL); dev_set_drvdata(dev, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment