mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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
 | 
						|
 |