Re: [PATCH 1/2] mtd: delete unneeded call to platform_get_drvdata

From: Julia Lawall
Date: Sat May 17 2014 - 03:12:14 EST




On Sat, 17 May 2014, Fabio Estevam wrote:

> On Sat, May 17, 2014 at 3:32 AM, Julia Lawall <Julia.Lawall@xxxxxxx> wrote:
> > From: Julia Lawall <Julia.Lawall@xxxxxxx>
> >
> > Platform_get_drvdata is an accessor function, and has no purpose if its
> > result is not used.
> >
> > The semantic patch that fixes this problem is as follows:
> > (http://coccinelle.lip6.fr/)
> >
> > // <smpl>
> > @@
> > identifier x;
> > type T;
> > @@
> > - T x = platform_get_drvdata(...);
> > ... when != x
> > // </smpl>
> >
> > Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
> >
> > ---
> > drivers/mtd/nand/bf5xx_nand.c | 4 ----
> > 1 file changed, 4 deletions(-)
> >
> > diff --git a/drivers/mtd/nand/bf5xx_nand.c b/drivers/mtd/nand/bf5xx_nand.c
> > index b7a2494..b5fbd48 100644
> > --- a/drivers/mtd/nand/bf5xx_nand.c
> > +++ b/drivers/mtd/nand/bf5xx_nand.c
> > @@ -840,15 +840,11 @@ out_err_kzalloc:
> >
> > static int bf5xx_nand_suspend(struct platform_device *dev, pm_message_t pm)
> > {
> > - struct bf5xx_nand_info *info = platform_get_drvdata(dev);
> > -
> > return 0;
> > }
> >
> > static int bf5xx_nand_resume(struct platform_device *dev)
> > {
> > - struct bf5xx_nand_info *info = platform_get_drvdata(dev);
> > -
> > return 0;
>
> In this case bf5xx_nand_suspend/resume could be removed?

I don't know. It looks like it is intentional to have a definition that
returns an indication of success? The complete set of definitions is:

#ifdef CONFIG_PM

static int bf5xx_nand_suspend(struct platform_device *dev, pm_message_t
pm)
{
struct bf5xx_nand_info *info = platform_get_drvdata(dev);

return 0;
}

static int bf5xx_nand_resume(struct platform_device *dev)
{
struct bf5xx_nand_info *info = platform_get_drvdata(dev);

return 0;
}

#else
#define bf5xx_nand_suspend NULL
#define bf5xx_nand_resume NULL
#endif

julia
--
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/