aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/sunxi/patches-3.13/170-9-mmc-fixup-revert-sdio.patch
blob: 90727f3e0b7d94917203e0864584942eb996ac6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From 0483aa124d32bdcafc84623a31141a49e71cc72d Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 16 Feb 2014 08:54:20 +0100
Subject: [PATCH] sunxi-mmc: fixup: revert "add host initialization for when
 the sdio irq is enabled"

This is not necessary since when the host is not initialized at this point
yet the irq line from the mmc controller is not enabled, so writing the
host controller interrupt mask cannot cause interrupts at this point.

More over doing this is wrong, as it leads to unbalanced calling of
clk_prepare_enable and regulator_power_on.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/mmc/host/sunxi-mmc.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
index 2dc446c..f33bc30 100644
--- a/drivers/mmc/host/sunxi-mmc.c
+++ b/drivers/mmc/host/sunxi-mmc.c
@@ -593,18 +593,9 @@ static void sunxi_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
 {
 	struct sunxi_mmc_host *smc_host = mmc_priv(mmc);
 	unsigned long flags;
-	int ret;
 	u32 imask;
 
 	spin_lock_irqsave(&smc_host->lock, flags);
-
-	/* Make sure the controller is in a sane state before enabling irqs */
-	ret = sunxi_mmc_init_host(host->mmc);
-	if (ret) {
-		spin_unlock_irqrestore(&smc_host->lock, flags);
-		return ret;
-	}
-
 	imask = mci_readl(smc_host, REG_IMASK);
 	if (enable) {
 		smc_host->sdio_imask = SDXC_SDIO_INTERRUPT;
-- 
1.8.5.5