From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WlYnG-0007tF-GR for linux-mtd@lists.infradead.org; Sat, 17 May 2014 07:12:31 +0000 Date: Sat, 17 May 2014 15:12:02 +0800 (SGT) From: Julia Lawall To: Fabio Estevam Subject: Re: [PATCH 1/2] mtd: delete unneeded call to platform_get_drvdata In-Reply-To: Message-ID: References: <1400308369-24375-1-git-send-email-Julia.Lawall@lip6.fr> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: "linux-mtd@lists.infradead.org" , kernel-janitors@vger.kernel.org, Brian Norris , David Woodhouse , linux-kernel List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Sat, 17 May 2014, Fabio Estevam wrote: > On Sat, May 17, 2014 at 3:32 AM, Julia Lawall wrote: > > From: Julia Lawall > > > > 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/) > > > > // > > @@ > > identifier x; > > type T; > > @@ > > - T x = platform_get_drvdata(...); > > ... when != x > > // > > > > Signed-off-by: Julia Lawall > > > > --- > > 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