Browse Source

mmc: sdhci: add card_event callback to sdhci

Add a card_event callback to sdhci so that clients can provide their
own card_event to be called when card_detect is triggered.

Signed-off-by: Christian Daudt <csd@broadcom.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Christian Daudt 12 years ago
parent
commit
722e1280c9
2 changed files with 5 additions and 0 deletions
  1. 4 0
      drivers/mmc/host/sdhci.c
  2. 1 0
      drivers/mmc/host/sdhci.h

+ 4 - 0
drivers/mmc/host/sdhci.c

@@ -2062,6 +2062,10 @@ static void sdhci_card_event(struct mmc_host *mmc)
 	struct sdhci_host *host = mmc_priv(mmc);
 	unsigned long flags;
 
+	/* First check if client has provided their own card event */
+	if (host->ops->card_event)
+		host->ops->card_event(host);
+
 	spin_lock_irqsave(&host->lock, flags);
 
 	/* Check host->mrq first in case we are runtime suspended */

+ 1 - 0
drivers/mmc/host/sdhci.h

@@ -294,6 +294,7 @@ struct sdhci_ops {
 	void	(*platform_resume)(struct sdhci_host *host);
 	void    (*adma_workaround)(struct sdhci_host *host, u32 intmask);
 	void	(*platform_init)(struct sdhci_host *host);
+	void    (*card_event)(struct sdhci_host *host);
 };
 
 #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS