r4080 - branches/src/target/kernel/2.6.24.x/patches
werner at sita.openmoko.org
werner at sita.openmoko.org
Sat Feb 16 16:18:11 CET 2008
Author: werner
Date: 2008-02-16 16:18:08 +0100 (Sat, 16 Feb 2008)
New Revision: 4080
Modified:
branches/src/target/kernel/2.6.24.x/patches/s3c_mci.patch
Log:
This should fix
http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1223
Read-side patch by Andrzej Zaborowski.
s3c_mci.patch
- drivers/mmc/host/s3cmci.c (do_pio_read): cast pio_ptr to u32 when storing a
long
- drivers/mmc/host/s3cmci.c (do_pio_write): cast pio_ptr to u32 when fetching a
long
Modified: branches/src/target/kernel/2.6.24.x/patches/s3c_mci.patch
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/s3c_mci.patch 2008-02-16 14:59:19 UTC (rev 4079)
+++ branches/src/target/kernel/2.6.24.x/patches/s3c_mci.patch 2008-02-16 15:18:08 UTC (rev 4080)
@@ -12,10 +12,10 @@
Acked-by: Thomas Kleffel <tk at maintech.de>
Signed-off-by: Harald Welte <laforge at gnumonks.org>
-Index: linux-2.6/include/asm-arm/arch-s3c2410/regs-sdi.h
+Index: linux-2.6.24/include/asm-arm/arch-s3c2410/regs-sdi.h
===================================================================
---- linux-2.6.orig/include/asm-arm/arch-s3c2410/regs-sdi.h
-+++ linux-2.6/include/asm-arm/arch-s3c2410/regs-sdi.h
+--- linux-2.6.24.orig/include/asm-arm/arch-s3c2410/regs-sdi.h
++++ linux-2.6.24/include/asm-arm/arch-s3c2410/regs-sdi.h
@@ -28,9 +28,17 @@
#define S3C2410_SDIDCNT (0x30)
#define S3C2410_SDIDSTA (0x34)
@@ -85,10 +85,10 @@
#define S3C2410_SDIFSTA_RFLAST (1<<9)
#define S3C2410_SDIFSTA_RFFULL (1<<8)
#define S3C2410_SDIFSTA_RFHALF (1<<7)
-Index: linux-2.6/drivers/mmc/host/s3cmci.c
+Index: linux-2.6.24/drivers/mmc/host/s3cmci.c
===================================================================
--- /dev/null
-+++ linux-2.6/drivers/mmc/host/s3cmci.c
++++ linux-2.6.24/drivers/mmc/host/s3cmci.c
@@ -0,0 +1,1411 @@
+/*
+ * linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
@@ -348,7 +348,7 @@
+
+ /* and a major chunk of data in the middle */
+ for (; fifo >= 4; fifo -=4) {
-+ *(host->pio_ptr) = readl(from_ptr);
++ *(u32 *) host->pio_ptr = readl(from_ptr);
+ host->pio_ptr+= 4;
+ }
+
@@ -412,7 +412,7 @@
+
+ /* and a major chunk of data in the middle */
+ for (; fifo >= 4; fifo -=4) {
-+ writel(*(host->pio_ptr), to_ptr);
++ writel(*(u32 *) host->pio_ptr, to_ptr);
+ host->pio_ptr += 4;
+ }
+
@@ -1501,10 +1501,10 @@
+MODULE_DESCRIPTION("Samsung S3C MMC/SD Card Interface driver");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Thomas Kleffel <tk at maintech.de>");
-Index: linux-2.6/drivers/mmc/host/s3cmci.h
+Index: linux-2.6.24/drivers/mmc/host/s3cmci.h
===================================================================
--- /dev/null
-+++ linux-2.6/drivers/mmc/host/s3cmci.h
++++ linux-2.6.24/drivers/mmc/host/s3cmci.h
@@ -0,0 +1,69 @@
+/*
+ * linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
@@ -1575,10 +1575,10 @@
+ unsigned int ccnt, dcnt;
+ struct tasklet_struct pio_tasklet;
+};
-Index: linux-2.6/drivers/mmc/host/Kconfig
+Index: linux-2.6.24/drivers/mmc/host/Kconfig
===================================================================
---- linux-2.6.orig/drivers/mmc/host/Kconfig
-+++ linux-2.6/drivers/mmc/host/Kconfig
+--- linux-2.6.24.orig/drivers/mmc/host/Kconfig
++++ linux-2.6.24/drivers/mmc/host/Kconfig
@@ -130,3 +130,14 @@
If unsure, or if your system has no SPI master driver, say N.
@@ -1594,20 +1594,20 @@
+
+ If unsure, say N.
+
-Index: linux-2.6/drivers/mmc/host/Makefile
+Index: linux-2.6.24/drivers/mmc/host/Makefile
===================================================================
---- linux-2.6.orig/drivers/mmc/host/Makefile
-+++ linux-2.6/drivers/mmc/host/Makefile
+--- linux-2.6.24.orig/drivers/mmc/host/Makefile
++++ linux-2.6.24/drivers/mmc/host/Makefile
@@ -17,4 +17,4 @@
obj-$(CONFIG_MMC_AT91) += at91_mci.o
obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o
obj-$(CONFIG_MMC_SPI) += mmc_spi.o
-
+obj-$(CONFIG_MMC_S3C) += s3cmci.o
-Index: linux-2.6/include/asm-arm/arch-s3c2410/mci.h
+Index: linux-2.6.24/include/asm-arm/arch-s3c2410/mci.h
===================================================================
--- /dev/null
-+++ linux-2.6/include/asm-arm/arch-s3c2410/mci.h
++++ linux-2.6.24/include/asm-arm/arch-s3c2410/mci.h
@@ -0,0 +1,13 @@
+#ifndef _ARCH_MCI_H
+#define _ARCH_MCI_H
@@ -1622,10 +1622,10 @@
+};
+
+#endif /* _ARCH_NCI_H */
-Index: linux-2.6/arch/arm/mach-s3c2412/s3c2412.c
+Index: linux-2.6.24/arch/arm/mach-s3c2412/s3c2412.c
===================================================================
---- linux-2.6.orig/arch/arm/mach-s3c2412/s3c2412.c
-+++ linux-2.6/arch/arm/mach-s3c2412/s3c2412.c
+--- linux-2.6.24.orig/arch/arm/mach-s3c2412/s3c2412.c
++++ linux-2.6.24/arch/arm/mach-s3c2412/s3c2412.c
@@ -214,5 +214,8 @@
{
printk("S3C2412: Initialising architecture\n");
@@ -1635,10 +1635,10 @@
+
return sysdev_register(&s3c2412_sysdev);
}
-Index: linux-2.6/arch/arm/mach-s3c2440/s3c2440.c
+Index: linux-2.6.24/arch/arm/mach-s3c2440/s3c2440.c
===================================================================
---- linux-2.6.orig/arch/arm/mach-s3c2440/s3c2440.c
-+++ linux-2.6/arch/arm/mach-s3c2440/s3c2440.c
+--- linux-2.6.24.orig/arch/arm/mach-s3c2440/s3c2440.c
++++ linux-2.6.24/arch/arm/mach-s3c2440/s3c2440.c
@@ -46,6 +46,9 @@
s3c_device_wdt.resource[1].start = IRQ_S3C2440_WDT;
s3c_device_wdt.resource[1].end = IRQ_S3C2440_WDT;
@@ -1649,10 +1649,10 @@
/* register our system device for everything else */
return sysdev_register(&s3c2440_sysdev);
-Index: linux-2.6/arch/arm/mach-s3c2442/s3c2442.c
+Index: linux-2.6.24/arch/arm/mach-s3c2442/s3c2442.c
===================================================================
---- linux-2.6.orig/arch/arm/mach-s3c2442/s3c2442.c
-+++ linux-2.6/arch/arm/mach-s3c2442/s3c2442.c
+--- linux-2.6.24.orig/arch/arm/mach-s3c2442/s3c2442.c
++++ linux-2.6.24/arch/arm/mach-s3c2442/s3c2442.c
@@ -21,6 +21,7 @@
#include <asm/plat-s3c24xx/s3c2442.h>
More information about the commitlog
mailing list