aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebastian.rasmussen@stericsson.com>2011-04-11 11:28:04 +0200
committerSebastian RASMUSSEN <sebastian.rasmussen@stericsson.com>2011-04-11 11:35:07 +0200
commitb5469799fc378728de695f62df002470a2acc1b7 (patch)
tree05e34f450765e7e15618dc8d517b65310b155bb7
parent236cee39a6c43ef43241857d832e1c8c1cff4bb4 (diff)
Revert "mmci: sdio adaptation"
This reverts commit 745f9f21e31bf8684b4c4e270883137aa830cba5. Change-Id: I99d1c145d4bbf51349521a1f967c40b710235dca Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/20566 Reviewed-by: Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com> Tested-by: Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com>
-rw-r--r--drivers/mmc/host/mmci.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index f89aa0d55a8..4ea24d5e049 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -1289,8 +1289,7 @@ static int mmci_enable(struct mmc_host *mmc)
* register to enable SDIO mode. This bit must be set otherwise
* no SDIO interrupts can be received.
*/
- host->mmci_datactrl = MCI_ST_DPSM_SDIOEN;
- writel(host->mmci_datactrl, host->base + MMCIDATACTRL);
+ writel(MCI_ST_DPSM_SDIOEN, host->base + MMCIDATACTRL);
}
/* Restore registers for POWER and CLOCK. */
@@ -1361,21 +1360,17 @@ static irqreturn_t mmci_cd_irq(int irq, void *dev_id)
static void mmci_enable_sdio_irq(struct mmc_host *mmc, int enable)
{
unsigned long flags;
+ unsigned int mask0;
struct mmci_host *host = mmc_priv(mmc);
spin_lock_irqsave(&host->lock, flags);
- if (enable) {
- /*
- * Since the host is not claimed when doing enable
- * we must handle it here.
- */
- host->mmci_mask0 |= MCI_SDIOITMASK;
- } else {
- /* We assumes the host is claimed when doing disable. */
- host->mmci_mask0 &= ~MCI_SDIOITMASK;
- }
- enable_imasks(host);
+ mask0 = readl(host->base + MMCIMASK0);
+ if (enable)
+ mask0 |= MCI_SDIOIT;
+ else
+ mask0 &= ~MCI_SDIOIT;
+ writel(mask0, host->base + MMCIMASK0);
spin_unlock_irqrestore(&host->lock, flags);
}