summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorDong Aisheng <b29396@freescale.com>2014-01-13 16:47:31 +0800
committerNitin Garg <nitin.garg@freescale.com>2015-09-17 08:59:23 -0500
commite1dee0b2a2bba63d93feb7baae0cc9785daf2df4 (patch)
tree2d4121ace2be26545acd02c826dd7c9336175ce2 /drivers/mmc
parentc2c835830fd245c74a80c11eae9e4e81ddc3d26d (diff)
ENGR00295184-5 mmc: sdhci-esdhc-imx: add wakeup feature for sdio irq
Enable wakeup for SDIO IRQ when the host is able to keep power during suspend. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 19a1ec6ca25b2fc639fc75a25dd8a1fd452f8578)
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-esdhc-imx.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 3b972aa716ca..9b5968027907 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -951,6 +951,9 @@ sdhci_esdhc_imx_probe_dt(struct platform_device *pdev,
if (of_find_property(np, "keep-power-in-suspend", NULL))
host->mmc->pm_caps |= MMC_PM_KEEP_POWER;
+ if (of_find_property(np, "enable-sdio-wakeup", NULL))
+ host->mmc->pm_caps |= MMC_PM_WAKE_SDIO_IRQ;
+
return 0;
}
#else
@@ -1143,6 +1146,10 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
host->quirks2 |= SDHCI_QUIRK2_NO_1_8_V;
}
+ if (host->mmc->pm_caps & MMC_PM_KEEP_POWER &&
+ host->mmc->pm_caps & MMC_PM_WAKE_SDIO_IRQ)
+ device_init_wakeup(&pdev->dev, 1);
+
err = sdhci_add_host(host);
if (err)
goto disable_clk;