Message ID | 1276801147-4103-4-git-send-email-eric@eukrea.com |
---|---|
State | New, archived |
Headers | show |
On Thu, 2010-06-17 at 20:59 +0200, Eric Bénard wrote: > The mtd layer is responsible to call mtd->{suspend,resume}. Doing it > again in the driver is wrong and results in a warning: > > nand_resume called for a chip which is not in suspended state > > at resume time. Removing the calls from the resume and suspend > functions makes them empty allowing them to be deleted completely. > > Signed-off-by: Eric Bénard <eric@eukrea.com> > Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Pushed to l2-mtd-2.6.git / dunno
Hi Artem, can you also pick this patch for mxc_nand ? Thanks Eric Le 17/06/2010 20:59, Eric Bénard a écrit : > The mtd layer is responsible to call mtd->{suspend,resume}. Doing it > again in the driver is wrong and results in a warning: > > nand_resume called for a chip which is not in suspended state > > at resume time. Removing the calls from the resume and suspend > functions makes them empty allowing them to be deleted completely. > > Signed-off-by: Eric Bénard<eric@eukrea.com> > Acked-by: Uwe Kleine-König<u.kleine-koenig@pengutronix.de> > Cc: Sascha Hauer<s.hauer@pengutronix.de> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-mtd@lists.infradead.org > --- > v2: > fix commit log (writen by Uwe Kleine-König) > > drivers/mtd/nand/mxc_nand.c | 44 +------------------------------------------ > 1 files changed, 1 insertions(+), 43 deletions(-) > > diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c > index 0d76b16..ad19dc6 100644 > --- a/drivers/mtd/nand/mxc_nand.c > +++ b/drivers/mtd/nand/mxc_nand.c > @@ -873,53 +873,11 @@ static int __devexit mxcnd_remove(struct platform_device *pdev) > return 0; > } > > -#ifdef CONFIG_PM > -static int mxcnd_suspend(struct platform_device *pdev, pm_message_t state) > -{ > - struct mtd_info *mtd = platform_get_drvdata(pdev); > - struct nand_chip *nand_chip = mtd->priv; > - struct mxc_nand_host *host = nand_chip->priv; > - int ret = 0; > - > - DEBUG(MTD_DEBUG_LEVEL0, "MXC_ND : NAND suspend\n"); > - > - ret = mtd->suspend(mtd); > - > - /* > - * nand_suspend locks the device for exclusive access, so > - * the clock must already be off. > - */ > - BUG_ON(!ret&& host->clk_act); > - > - return ret; > -} > - > -static int mxcnd_resume(struct platform_device *pdev) > -{ > - struct mtd_info *mtd = platform_get_drvdata(pdev); > - struct nand_chip *nand_chip = mtd->priv; > - struct mxc_nand_host *host = nand_chip->priv; > - int ret = 0; > - > - DEBUG(MTD_DEBUG_LEVEL0, "MXC_ND : NAND resume\n"); > - > - mtd->resume(mtd); > - > - return ret; > -} > - > -#else > -# define mxcnd_suspend NULL > -# define mxcnd_resume NULL > -#endif /* CONFIG_PM */ > - > static struct platform_driver mxcnd_driver = { > .driver = { > .name = DRIVER_NAME, > - }, > + }, > .remove = __devexit_p(mxcnd_remove), > - .suspend = mxcnd_suspend, > - .resume = mxcnd_resume, > }; > > static int __init mxc_nd_init(void)
On Sat, 2010-07-17 at 09:24 +0200, Eric Bénard wrote: > Hi Artem, > > can you also pick this patch for mxc_nand ? It is in my tree already, and I sent a notification as well :-)
Hi Artem, Le 17/07/2010 09:33, Artem Bityutskiy a écrit : > On Sat, 2010-07-17 at 09:24 +0200, Eric Bénard wrote: >> can you also pick this patch for mxc_nand ? > > It is in my tree already, and I sent a notification as well :-) > OK, sorry, I didn't see the notification mail and only checked your master branch, not the dunno branch where you applied this patch ! Thanks, Eric
On Sat, 2010-07-17 at 14:49 +0200, Eric Bénard wrote: > Hi Artem, > > Le 17/07/2010 09:33, Artem Bityutskiy a écrit : > > On Sat, 2010-07-17 at 09:24 +0200, Eric Bénard wrote: > >> can you also pick this patch for mxc_nand ? > > > > It is in my tree already, and I sent a notification as well :-) > > > > OK, sorry, I didn't see the notification mail and only checked your > master branch, not the dunno branch where you applied this patch ! Yeah, I put to master only the stuff I understand and hence, can sight-off. The rest goes to dunno - David then processes it.
diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index 0d76b16..ad19dc6 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c @@ -873,53 +873,11 @@ static int __devexit mxcnd_remove(struct platform_device *pdev) return 0; } -#ifdef CONFIG_PM -static int mxcnd_suspend(struct platform_device *pdev, pm_message_t state) -{ - struct mtd_info *mtd = platform_get_drvdata(pdev); - struct nand_chip *nand_chip = mtd->priv; - struct mxc_nand_host *host = nand_chip->priv; - int ret = 0; - - DEBUG(MTD_DEBUG_LEVEL0, "MXC_ND : NAND suspend\n"); - - ret = mtd->suspend(mtd); - - /* - * nand_suspend locks the device for exclusive access, so - * the clock must already be off. - */ - BUG_ON(!ret && host->clk_act); - - return ret; -} - -static int mxcnd_resume(struct platform_device *pdev) -{ - struct mtd_info *mtd = platform_get_drvdata(pdev); - struct nand_chip *nand_chip = mtd->priv; - struct mxc_nand_host *host = nand_chip->priv; - int ret = 0; - - DEBUG(MTD_DEBUG_LEVEL0, "MXC_ND : NAND resume\n"); - - mtd->resume(mtd); - - return ret; -} - -#else -# define mxcnd_suspend NULL -# define mxcnd_resume NULL -#endif /* CONFIG_PM */ - static struct platform_driver mxcnd_driver = { .driver = { .name = DRIVER_NAME, - }, + }, .remove = __devexit_p(mxcnd_remove), - .suspend = mxcnd_suspend, - .resume = mxcnd_resume, }; static int __init mxc_nd_init(void)