lkml.org 
[lkml]   [2012]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH] drivers/video/ep93xx-fb.c: clean up error-handling code
    Date
    > -----Original Message-----
    > From: Ryan Mallon
    > Sent: Thursday, April 19, 2012 9:16 AM
    > To: Julia Lawall
    > Cc: Florian Tobias Schandinat; kernel-janitors@vger.kernel.org; linux-fbdev@vger.kernel.org; linux-
    > kernel@vger.kernel.org
    > 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@lip6.fr>
    > >
    > > 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@lip6.fr>
    >
    > Reviewed-by: Ryan Mallon <rmallon@gmail.com>
    >
    > 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@gmx.de> (maintainer:FRAMEBUFFER LAYER)
    linux-fbdev@vger.kernel.org (open list:FRAMEBUFFER LAYER)
    linux-kernel@vger.kernel.org (open list)

    With './' ahead of 'drivers/video/ep93xx-fb.c':
    ./scripts/get_maintainer.pl --file ./drivers/video/ep93xx-fb.c
    Ryan Mallon <rmallon@gmail.com> (commit_signer:2/3=67%)
    Paul Gortmaker <paul.gortmaker@windriver.com> (commit_signer:1/3=33%)
    H Hartley Sweeten <hsweeten@visionengravers.com> (commit_signer:1/3=33%)
    Jesper Juhl <jj@chaosbits.net> (commit_signer:1/3=33%)
    Jiri Kosina <jkosina@suse.cz> (commit_signer:1/3=33%)
    linux-kernel@vger.kernel.org (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@vger.kernel.org
    > > 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@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html



    \
     
     \ /
      Last update: 2012-04-19 04:19    [W:0.076 / U:148.728 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site