drivers: mmc: msm_sdcc: Add EMBEDDED_SDIO support
authorSan Mehat <san@google.com>
Wed, 3 Feb 2010 20:59:29 +0000 (12:59 -0800)
committerDaniel Walker <dwalker@codeaurora.org>
Thu, 18 Mar 2010 20:37:24 +0000 (13:37 -0700)
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
drivers/mmc/host/msm_sdcc.c

index 47b1f25..b40558e 100644 (file)
@@ -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
         */