From 5e277fb57547a5d9a2339a5aec3155eb49e588aa Mon Sep 17 00:00:00 2001 From: Dong Aisheng Date: Mon, 13 Jan 2014 18:27:58 +0800 Subject: [PATCH] ENGR00295184-7 mmc: sdhci: do not enable card cd wakeup for gpio case Do not need to enable the controller card cd interrupt wakeup if using GPIO as card detect since it's meaningless. Signed-off-by: Dong Aisheng --- drivers/mmc/host/sdhci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 47055f3f01b8..8d62cecd3002 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2518,6 +2518,7 @@ static irqreturn_t sdhci_thread_irq(int irq, void *dev_id) #ifdef CONFIG_PM void sdhci_enable_irq_wakeups(struct sdhci_host *host) { + int gpio_cd = mmc_gpio_get_cd(host->mmc); u8 val; u8 mask = SDHCI_WAKE_ON_INSERT | SDHCI_WAKE_ON_REMOVE | SDHCI_WAKE_ON_INT; @@ -2525,7 +2526,8 @@ void sdhci_enable_irq_wakeups(struct sdhci_host *host) val = sdhci_readb(host, SDHCI_WAKE_UP_CONTROL); val |= mask ; /* Avoid fake wake up */ - if (host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION) + if (host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION || + !IS_ERR_VALUE(gpio_cd)) val &= ~(SDHCI_WAKE_ON_INSERT | SDHCI_WAKE_ON_REMOVE); sdhci_writeb(host, val, SDHCI_WAKE_UP_CONTROL); } -- 2.39.2