mtd: mxc_nand: dont call suspend and resume explicitly

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Wed Aug 4 06:59:07 EDT 2010


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=04dd0d3a9a33fdd8c3516db0fa85d9dba5610fc2
Commit:     04dd0d3a9a33fdd8c3516db0fa85d9dba5610fc2
Parent:     c9fb67735b307a3cdf57e568b6c50c860248d1d3
Author:     Eric Bénard <eric at eukrea.com>
AuthorDate: Thu Jun 17 20:59:04 2010 +0200
Committer:  David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Wed Aug 4 10:56:19 2010 +0100

    mtd: mxc_nand: dont call suspend and resume explicitly
    
    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 at eukrea.com>
    Acked-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
 drivers/mtd/nand/mxc_nand.c |   43 +------------------------------------------
 1 files changed, 1 insertions(+), 42 deletions(-)

diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index b464f6b..e8dc646 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -871,52 +871,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;
-	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)



More information about the linux-mtd-cvs mailing list