aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorSan Mehat <san@google.com>2010-02-03 12:59:29 -0800
committerDaniel Walker <dwalker@codeaurora.org>2010-03-18 13:37:24 -0700
commit1cd2296909e77702c68021ede9d87a1d967a6a99 (patch)
treebfd7f91e16d7384cb8b09e287e6e5923909ce729 /drivers/mmc
parentmmc: msm_sdcc: Fix issue where clocks could be disabled mid transaction (diff)
downloadlinux-dev-1cd2296909e77702c68021ede9d87a1d967a6a99.tar.xz
linux-dev-1cd2296909e77702c68021ede9d87a1d967a6a99.zip
drivers: mmc: msm_sdcc: Add EMBEDDED_SDIO support
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/msm_sdcc.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
index 47b1f2526521..b40558e18e87 100644
--- a/drivers/mmc/host/msm_sdcc.c
+++ b/drivers/mmc/host/msm_sdcc.c
@@ -616,7 +616,7 @@ msmsdcc_spin_on_status(struct msmsdcc_host *host, uint32_t mask, int maxspin)
return -ETIMEDOUT;
}
-static int
+static irqreturn_t
msmsdcc_pio_irq(int irq, void *dev_id)
{
struct msmsdcc_host *host = dev_id;
@@ -801,7 +801,6 @@ msmsdcc_irq(int irq, void *dev_id)
spin_lock(&host->lock);
do {
- struct mmc_data *data;
status = msmsdcc_readl(host, MMCISTATUS);
status &= (msmsdcc_readl(host, MMCIMASK0) |
MCI_DATABLOCKENDMASK);
@@ -1145,6 +1144,15 @@ msmsdcc_probe(struct platform_device *pdev)
host->dmares = dmares;
spin_lock_init(&host->lock);
+#ifdef CONFIG_MMC_EMBEDDED_SDIO
+ if (plat->embedded_sdio)
+ mmc_set_embedded_sdio_data(mmc,
+ &plat->embedded_sdio->cis,
+ &plat->embedded_sdio->cccr,
+ plat->embedded_sdio->funcs,
+ plat->embedded_sdio->num_funcs);
+#endif
+
/*
* Setup DMA
*/