|
|
|
RE: [PATCH] drivers/video/ep93xx-fb.c: clean up error-handling code | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
I don't know thw impact of the ./. I use the options --nokeywords --nogit-fallback --subsystem --norolestats -f julia On Thu, 19 Apr 2012, Jingoo Han wrote:
-----Original Message----- From: Ryan Mallon Sent: Thursday, April 19, 2012 9:16 AM To: Julia Lawall Cc: Florian Tobias Schandinat; kernel-janitors@xxxxxxxxxxxxxxx; linux-fbdev@xxxxxxxxxxxxxxx; linux- kernel@xxxxxxxxxxxxxxx Subject: Re: [PATCH] drivers/video/ep93xx-fb.c: clean up error-handling code On 19/04/12 05:37, Julia Lawall wrote:From: Julia Lawall <Julia.Lawall@xxxxxxx> There were two problems in this code: failure of the setup function should free locally allocated resources like other nearby failures, and the test if (&info->cmap) can never be false. To generally clean things up, this patch reorders the error handling code at the failed label and adds labels so that the conditionals are not necessary. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>Reviewed-by: Ryan Mallon <rmallon@xxxxxxxxx> Oddly, scripts/get_maintainer.pl on this file doesn't return me, even though, according to git blame, I am the author of 90% of the commits. Should I have an entry in the MAINTAINERS file, or is scripts/get_maintainer.pl not working properly?There are optional differences in using scripts/get_maintainer.pl. If you use './' ahead of file path, you will see your name. Without './' ahead of 'drivers/video/ep93xx-fb.c': ./scripts/get_maintainer.pl --file drivers/video/ep93xx-fb.c Florian Tobias Schandinat <FlorianSchandinat@xxxxxx> (maintainer:FRAMEBUFFER LAYER) linux-fbdev@xxxxxxxxxxxxxxx (open list:FRAMEBUFFER LAYER) linux-kernel@xxxxxxxxxxxxxxx (open list) With './' ahead of 'drivers/video/ep93xx-fb.c': ./scripts/get_maintainer.pl --file ./drivers/video/ep93xx-fb.c Ryan Mallon <rmallon@xxxxxxxxx> (commit_signer:2/3=67%) Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> (commit_signer:1/3=33%) H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> (commit_signer:1/3=33%) Jesper Juhl <jj@xxxxxxxxxxxxx> (commit_signer:1/3=33%) Jiri Kosina <jkosina@xxxxxxx> (commit_signer:1/3=33%) linux-kernel@xxxxxxxxxxxxxxx (open list) Best regards, Jingoo Han~Ryan--- Not tested. drivers/video/ep93xx-fb.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/drivers/video/ep93xx-fb.c b/drivers/video/ep93xx-fb.c index f8babbe..345d962 100644 --- a/drivers/video/ep93xx-fb.c +++ b/drivers/video/ep93xx-fb.c @@ -507,16 +507,16 @@ static int __devinit ep93xxfb_probe(struct platform_device *pdev) err = fb_alloc_cmap(&info->cmap, 256, 0); if (err) - goto failed; + goto failed_cmap; err = ep93xxfb_alloc_videomem(info); if (err) - goto failed; + goto failed_videomem; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { err = -ENXIO; - goto failed; + goto failed_resource; } /* @@ -532,7 +532,7 @@ static int __devinit ep93xxfb_probe(struct platform_device *pdev) fbi->mmio_base = ioremap(res->start, resource_size(res)); if (!fbi->mmio_base) { err = -ENXIO; - goto failed; + goto failed_resource; } strcpy(info->fix.id, pdev->name); @@ -553,24 +553,24 @@ static int __devinit ep93xxfb_probe(struct platform_device *pdev) if (err == 0) { dev_err(info->dev, "No suitable video mode found\n"); err = -EINVAL; - goto failed; + goto failed_mode; } if (mach_info->setup) { err = mach_info->setup(pdev); if (err) - return err; + goto failed_mode; } err = ep93xxfb_check_var(&info->var, info); if (err) - goto failed; + goto failed_check; fbi->clk = clk_get(info->dev, NULL); if (IS_ERR(fbi->clk)) { err = PTR_ERR(fbi->clk); fbi->clk = NULL; - goto failed; + goto failed_check; } ep93xxfb_set_par(info); @@ -585,15 +585,17 @@ static int __devinit ep93xxfb_probe(struct platform_device *pdev) return 0; failed: - if (fbi->clk) - clk_put(fbi->clk); - if (fbi->mmio_base) - iounmap(fbi->mmio_base); - ep93xxfb_dealloc_videomem(info); - if (&info->cmap) - fb_dealloc_cmap(&info->cmap); + clk_put(fbi->clk); +failed_check: if (fbi->mach_info->teardown) fbi->mach_info->teardown(pdev); +failed_mode: + iounmap(fbi->mmio_base); +failed_resource: + ep93xxfb_dealloc_videomem(info); +failed_videomem: + fb_dealloc_cmap(&info->cmap); +failed_cmap: kfree(info); platform_set_drvdata(pdev, NULL); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/-- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html-- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
-- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |
![]() |