aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci.h
diff options
context:
space:
mode:
authorAnton Vorontsov <avorontsov@ru.mvista.com>2009-03-16 17:13:52 -0400
committerPierre Ossman <drzeus@drzeus.cx>2009-03-24 16:30:08 -0400
commit68d1fb7e229c6f95be4fbbe3eb46b24e41184924 (patch)
tree09e60a2e1e5b3569dd309348a8c164c859c89671 /drivers/mmc/host/sdhci.h
parent6aa943ab8994fe6e4ccba22c5bc8150a84268bdd (diff)
sdhci: Add support for card-detection polling
This patch adds SDHCI_QUIRK_BROKEN_CARD_DETECTION quirk. When specified, sdhci driver will set MMC_CAP_NEEDS_POLL MMC host capability, and won't enable card insert/remove interrupts. This is needed for hosts with unreliable card detection, such as FSL eSDHC. The original eSDHC driver was tring to "debounce" card-detection IRQs by reading present state and disabling particular interrupts. But with this debouncing scheme I noticed that sometimes we miss card insertion/removal events. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/host/sdhci.h')
-rw-r--r--drivers/mmc/host/sdhci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index a9e25c6c0c0..968d713950f 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -214,6 +214,8 @@ struct sdhci_host {
214#define SDHCI_QUIRK_BROKEN_SMALL_PIO (1<<13) 214#define SDHCI_QUIRK_BROKEN_SMALL_PIO (1<<13)
215/* Controller does not provide transfer-complete interrupt when not busy */ 215/* Controller does not provide transfer-complete interrupt when not busy */
216#define SDHCI_QUIRK_NO_BUSY_IRQ (1<<14) 216#define SDHCI_QUIRK_NO_BUSY_IRQ (1<<14)
217/* Controller has unreliable card detection */
218#define SDHCI_QUIRK_BROKEN_CARD_DETECTION (1<<15)
217 219
218 int irq; /* Device IRQ */ 220 int irq; /* Device IRQ */
219 void __iomem * ioaddr; /* Mapped address */ 221 void __iomem * ioaddr; /* Mapped address */