summaryrefslogtreecommitdiff
path: root/drivers/mmc/host/sdhci-tegra.c
diff options
context:
space:
mode:
authornaveenk <naveenk@nvidia.com>2011-11-18 14:18:05 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:50:18 -0800
commitbb4ed3b58b1d894d40edfd2a27730335fb72760d (patch)
tree5a540c6290fbdb2639b9e8ef8c159457752a0a77 /drivers/mmc/host/sdhci-tegra.c
parent5ed7acadb3a04a15a6e20f1aee8bdb0c2090e5ac (diff)
MMC: Tegra: Enabling wake up event
Enabling wake up event for sd card insertion/deletion to handle insertion/removal events during suspend Bug 895672 Change-Id: If9c59889d22b19b99584a8f01cb7bf7316c3b8b5 Signed-off-by: naveenk <naveenk@nvidia.com> Reviewed-on: http://git-master/r/65971 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: R29c4dd500afac98150f7347f5f87d77efe45b676
Diffstat (limited to 'drivers/mmc/host/sdhci-tegra.c')
-rw-r--r--drivers/mmc/host/sdhci-tegra.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 72ef8e1e0f5d..6228b651bee1 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -532,6 +532,11 @@ static int __devinit sdhci_tegra_probe(struct platform_device *pdev)
dev_err(mmc_dev(host->mmc), "request irq error\n");
goto err_cd_irq_req;
}
+ rc = enable_irq_wake(gpio_to_irq(plat->cd_gpio));
+ if (rc < 0)
+ dev_err(mmc_dev(host->mmc),
+ "SD card wake-up event registration"
+ "failed with eroor: %d\n", rc);
} else if (plat->mmc_data.register_status_notify) {
plat->mmc_data.register_status_notify(sdhci_status_notify_cb, host);
@@ -676,6 +681,8 @@ static int __devexit sdhci_tegra_remove(struct platform_device *pdev)
plat = pdev->dev.platform_data;
+ disable_irq_wake(gpio_to_irq(plat->cd_gpio));
+
if (tegra_host->vdd_slot_reg) {
regulator_disable(tegra_host->vdd_slot_reg);
regulator_put(tegra_host->vdd_slot_reg);