diff options
author | Sebastian Rasmussen <sebastian.rasmussen@stericsson.com> | 2011-04-11 11:28:04 +0200 |
---|---|---|
committer | Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com> | 2011-04-11 11:35:07 +0200 |
commit | b5469799fc378728de695f62df002470a2acc1b7 (patch) | |
tree | 05e34f450765e7e15618dc8d517b65310b155bb7 | |
parent | 236cee39a6c43ef43241857d832e1c8c1cff4bb4 (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.c | 21 |
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); } |