Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04dd0d3a authored by Eric Bénard's avatar Eric Bénard Committed by David Woodhouse
Browse files

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: default avatarEric Bénard <eric@eukrea.com>
Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent c9fb6773
Loading
Loading
Loading
Loading
+1 −42
Original line number Diff line number Diff line
@@ -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)