mtd: mxc_nand: dont call suspend and resume explicitly
authorEric Bénard <eric@eukrea.com>
Thu, 17 Jun 2010 18:59:04 +0000 (20:59 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Wed, 4 Aug 2010 09:56:19 +0000 (10:56 +0100)
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>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/mxc_nand.c

index b464f6b23d0dd59603bf387651254af9ff2b4e36..e8dc6468f8bc7410a00db14a3dbe507f5a1f1879 100644 (file)
@@ -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)