|
@@ -871,52 +871,11 @@ static int __devexit mxcnd_remove(struct platform_device *pdev)
|
|
return 0;
|
|
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 = {
|
|
static struct platform_driver mxcnd_driver = {
|
|
.driver = {
|
|
.driver = {
|
|
.name = DRIVER_NAME,
|
|
.name = DRIVER_NAME,
|
|
- },
|
|
|
|
|
|
+ },
|
|
.remove = __devexit_p(mxcnd_remove),
|
|
.remove = __devexit_p(mxcnd_remove),
|
|
- .suspend = mxcnd_suspend,
|
|
|
|
- .resume = mxcnd_resume,
|
|
|
|
};
|
|
};
|
|
|
|
|
|
static int __init mxc_nd_init(void)
|
|
static int __init mxc_nd_init(void)
|