Kaynağa Gözat

drivers: mmc: msm_sdcc: Add EMBEDDED_SDIO support

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
San Mehat 15 yıl önce
ebeveyn
işleme
1cd2296909
1 değiştirilmiş dosya ile 10 ekleme ve 2 silme
  1. 10 2
      drivers/mmc/host/msm_sdcc.c

+ 10 - 2
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
 	 */