aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/coldfire/patches/102-kernel-2.6.38-Fix-SD-MMC-SDIO-over-SPI-driver-bug-when-reinserting.patch
diff options
context:
space:
mode:
authorImre Kaloz <kaloz@openwrt.org>2012-05-01 07:00:17 +0000
committerImre Kaloz <kaloz@openwrt.org>2012-05-01 07:00:17 +0000
commit880de62f91bcffe7f1c7f16c9463e10853fa2524 (patch)
tree058bb1c73786a7bf492cc1a554effe4692a9b50e /target/linux/coldfire/patches/102-kernel-2.6.38-Fix-SD-MMC-SDIO-over-SPI-driver-bug-when-reinserting.patch
parent7a8d12bafaf8b882d0278156e5f22d0a396687e2 (diff)
downloadupstream-880de62f91bcffe7f1c7f16c9463e10853fa2524.tar.gz
upstream-880de62f91bcffe7f1c7f16c9463e10853fa2524.tar.bz2
upstream-880de62f91bcffe7f1c7f16c9463e10853fa2524.zip
switch to 2.6.38
SVN-Revision: 31546
Diffstat (limited to 'target/linux/coldfire/patches/102-kernel-2.6.38-Fix-SD-MMC-SDIO-over-SPI-driver-bug-when-reinserting.patch')
-rw-r--r--target/linux/coldfire/patches/102-kernel-2.6.38-Fix-SD-MMC-SDIO-over-SPI-driver-bug-when-reinserting.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/coldfire/patches/102-kernel-2.6.38-Fix-SD-MMC-SDIO-over-SPI-driver-bug-when-reinserting.patch b/target/linux/coldfire/patches/102-kernel-2.6.38-Fix-SD-MMC-SDIO-over-SPI-driver-bug-when-reinserting.patch
new file mode 100644
index 0000000000..4ec2d21bc5
--- /dev/null
+++ b/target/linux/coldfire/patches/102-kernel-2.6.38-Fix-SD-MMC-SDIO-over-SPI-driver-bug-when-reinserting.patch
@@ -0,0 +1,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
+