diff options
Diffstat (limited to 'drivers/mmc/host/mmci.c')
-rw-r--r-- | drivers/mmc/host/mmci.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 4576f8a8bc3..0079c2035d0 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -1238,6 +1238,13 @@ static int mmci_enable(struct mmc_host *mmc) } } + /* + * To be able to handle specific wake up scenarios for each host, + * the following function shall be implemented. + */ + if (host->plat->wakeup_handler) + host->plat->wakeup_handler(host->mmc, true); + /* Enable IRQ */ mask = MCI_IRQENABLE; /* Don't use the datablockend flag if it's broken */ @@ -1281,6 +1288,13 @@ static int mmci_disable(struct mmc_host *mmc, int lazy) */ writel(0, host->base + MMCIMASK0); + /* + * To be able to handle specific shutdown scenarios for each host, + * the following function shall be implemented. + */ + if (host->plat->wakeup_handler) + host->plat->wakeup_handler(host->mmc, false); + mmc_power_save_host(host->mmc); clk_disable(host->clk); |