diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2010-08-12 18:08:40 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 00:47:03 -0700 |
commit | ff393f842bcecfadfe97f2408921329b991dfaaf (patch) | |
tree | 84acb602f452f555b3ea08a76ef34e5d054fd0dc | |
parent | 84f8da6b715ad56d13312ef6357acaf8367c8d47 (diff) |
mmc: sdhci: enable/disable sdc irq instead of request/free
Was:
mmc: sdhci: Skip mmc suspend/resume ops for SDIO device,
enable/disable sdc irq instead of request/free,
mask all sdc interrupts on suspend
Change-Id: I3fb137363c6e639882b796aff8b80784c5256a71
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
[DW: removed the skip for SDIO, since we later revert]
Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>
Rebase-Id: Rf6edd4551a9a29c6d096ce593560d29a5dcd3b4d
-rw-r--r-- | drivers/mmc/host/sdhci.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 2ea429c27714..030d768bb0ea 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2555,7 +2555,8 @@ int sdhci_suspend_host(struct sdhci_host *host) if (!device_may_wakeup(mmc_dev(host->mmc))) { sdhci_mask_irqs(host, SDHCI_INT_ALL_MASK); - free_irq(host->irq, host); + if (host->irq) + disable_irq(host->irq); } else { sdhci_enable_irq_wakeups(host); enable_irq_wake(host->irq); @@ -2575,10 +2576,8 @@ int sdhci_resume_host(struct sdhci_host *host) } if (!device_may_wakeup(mmc_dev(host->mmc))) { - ret = request_irq(host->irq, sdhci_irq, IRQF_SHARED, - mmc_hostname(host->mmc), host); - if (ret) - return ret; + if (host->irq) + enable_irq(host->irq); } else { sdhci_disable_irq_wakeups(host); disable_irq_wake(host->irq); |