aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/coldfire/patches/102-kernel-2.6.38-Fix-SD-MMC-SDIO-over-SPI-driver-bug-when-reinserting.patch
blob: 4ec2d21bc51dc453075d072d075f76e7a4ecab15 (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
From 78f4df7dfe913c68b8329dd84a24325b8f34217b Mon Sep 17 00:00:00 2001
From: Wang Huan <wanghuan@zch06.freescale.net>
Date: Mon, 8 Aug 2011 09:14:45 +0800
Subject: [PATCH] Fix SD/MMC/SDIO over SPI driver bug when reinserting as module

Signed-off-by: Alison Wang <b18965@freescale.com>
---
 arch/m68k/coldfire/m5445x/devices.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

--- a/arch/m68k/coldfire/m5445x/devices.c
+++ b/arch/m68k/coldfire/m5445x/devices.c
@@ -136,6 +136,13 @@ int mmc_spi_init(struct device *mmc_spi_
 	return 0;
 }
 
+void mmc_spi_exit(struct device *mmc_spi_device, void *irq_privatedata)
+{
+#if defined(CONFIG_M54451_SD_HW_DETECT)
+	free_irq(64 + 7, irq_privatedata);
+#endif
+}
+
 static struct coldfire_dspi_chip dspi_sd_chip_info = {
 	.mode = SPI_MODE_0,
 	.bits_per_word = 8,
@@ -154,6 +161,7 @@ static struct coldfire_dspi_chip dspi_sd
 static struct mmc_spi_platform_data mcf54451_mmc_pdata = {
 	.ocr_mask = MMC_VDD_33_34,
 	.init = mmc_spi_init,
+	.exit = mmc_spi_exit,
 };
 #endif