2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-02 10:43:57 +08:00

mtd: fsmc_nand: add pm callbacks to support hibernation

Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
Shiraz Hashim 2012-03-14 11:47:13 +05:30 committed by David Woodhouse
parent 467e6e7be2
commit f63acb75c5

View File

@ -382,7 +382,7 @@ static void fsmc_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
* This routine initializes timing parameters related to NAND memory access in * This routine initializes timing parameters related to NAND memory access in
* FSMC registers * FSMC registers
*/ */
static void __init fsmc_nand_setup(struct fsmc_regs *regs, uint32_t bank, static void fsmc_nand_setup(struct fsmc_regs *regs, uint32_t bank,
uint32_t busw) uint32_t busw)
{ {
uint32_t value = FSMC_DEVTYPE_NAND | FSMC_ENABLE | FSMC_WAITON; uint32_t value = FSMC_DEVTYPE_NAND | FSMC_ENABLE | FSMC_WAITON;
@ -976,15 +976,15 @@ static int fsmc_nand_suspend(struct device *dev)
static int fsmc_nand_resume(struct device *dev) static int fsmc_nand_resume(struct device *dev)
{ {
struct fsmc_nand_data *host = dev_get_drvdata(dev); struct fsmc_nand_data *host = dev_get_drvdata(dev);
if (host) if (host) {
clk_enable(host->clk); clk_enable(host->clk);
fsmc_nand_setup(host->regs_va, host->bank,
host->nand.options & NAND_BUSWIDTH_16);
}
return 0; return 0;
} }
static const struct dev_pm_ops fsmc_nand_pm_ops = { static SIMPLE_DEV_PM_OPS(fsmc_nand_pm_ops, fsmc_nand_suspend, fsmc_nand_resume);
.suspend = fsmc_nand_suspend,
.resume = fsmc_nand_resume,
};
#endif #endif
static struct platform_driver fsmc_nand_driver = { static struct platform_driver fsmc_nand_driver = {