RE: [PATCH] drivers/video/ep93xx-fb.c: clean up error-handling code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


> -----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 linux-fbdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

Add to Google Powered by Linux