linux-2.6: Add a driver to run an MMC or SD card over a GPIO based SPI interface.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10637 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
Michael Büsch
2008-03-21 16:52:27 +00:00
parent 648b6abd7b
commit ab0e4b6ce3
9 changed files with 8441 additions and 41 deletions

View File

@@ -1,7 +1,7 @@
Index: linux-2.6.23.16/drivers/ssb/Kconfig
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/Kconfig 2008-02-28 12:52:40.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/Kconfig 2008-02-29 01:01:00.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/Kconfig 2008-03-19 11:16:18.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/Kconfig 2008-03-19 11:16:18.000000000 +0100
@@ -120,4 +120,13 @@ config SSB_DRIVER_EXTIF
If unsure, say N
@@ -18,8 +18,8 @@ Index: linux-2.6.23.16/drivers/ssb/Kconfig
endmenu
Index: linux-2.6.23.16/drivers/ssb/Makefile
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/Makefile 2008-02-28 12:52:40.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/Makefile 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/Makefile 2008-03-19 11:16:18.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/Makefile 2008-03-19 11:16:18.000000000 +0100
@@ -11,6 +11,7 @@ ssb-y += driver_chipcommon.o
ssb-$(CONFIG_SSB_DRIVER_MIPS) += driver_mipscore.o
ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o
@@ -31,7 +31,7 @@ Index: linux-2.6.23.16/drivers/ssb/Makefile
Index: linux-2.6.23.16/drivers/ssb/driver_gige.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.23.16/drivers/ssb/driver_gige.c 2008-02-29 01:05:04.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_gige.c 2008-03-19 11:16:18.000000000 +0100
@@ -0,0 +1,294 @@
+/*
+ * Sonics Silicon Backplane
@@ -330,7 +330,7 @@ Index: linux-2.6.23.16/drivers/ssb/driver_gige.c
Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h 2008-02-29 01:10:50.000000000 +0100
+++ linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h 2008-03-19 11:16:18.000000000 +0100
@@ -0,0 +1,174 @@
+#ifndef LINUX_SSB_DRIVER_GIGE_H_
+#define LINUX_SSB_DRIVER_GIGE_H_
@@ -508,8 +508,8 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_gige.h
+#endif /* LINUX_SSB_DRIVER_GIGE_H_ */
Index: linux-2.6.23.16/drivers/ssb/driver_pcicore.c
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/driver_pcicore.c 2008-02-28 12:52:40.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_pcicore.c 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/driver_pcicore.c 2008-03-19 11:16:18.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_pcicore.c 2008-03-19 11:16:18.000000000 +0100
@@ -60,74 +60,6 @@ static DEFINE_SPINLOCK(cfgspace_lock);
/* Core to access the external PCI config space. Can only have one. */
static struct ssb_pcicore *extpci_core;
@@ -680,8 +680,8 @@ Index: linux-2.6.23.16/drivers/ssb/driver_pcicore.c
u32 val;
Index: linux-2.6.23.16/drivers/ssb/embedded.c
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/embedded.c 2008-02-28 12:52:40.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/embedded.c 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/embedded.c 2008-03-19 11:16:18.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/embedded.c 2008-03-19 11:16:18.000000000 +0100
@@ -10,6 +10,9 @@
#include <linux/ssb/ssb.h>
@@ -785,8 +785,8 @@ Index: linux-2.6.23.16/drivers/ssb/embedded.c
+}
Index: linux-2.6.23.16/include/linux/ssb/ssb.h
===================================================================
--- linux-2.6.23.16.orig/include/linux/ssb/ssb.h 2008-02-28 12:52:40.000000000 +0100
+++ linux-2.6.23.16/include/linux/ssb/ssb.h 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/include/linux/ssb/ssb.h 2008-03-19 11:16:18.000000000 +0100
+++ linux-2.6.23.16/include/linux/ssb/ssb.h 2008-03-19 11:16:18.000000000 +0100
@@ -422,5 +422,12 @@ extern int ssb_bus_powerup(struct ssb_bu
extern u32 ssb_admatch_base(u32 adm);
extern u32 ssb_admatch_size(u32 adm);
@@ -802,8 +802,8 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb.h
#endif /* LINUX_SSB_H_ */
Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_pci.h
===================================================================
--- linux-2.6.23.16.orig/include/linux/ssb/ssb_driver_pci.h 2008-02-28 12:52:40.000000000 +0100
+++ linux-2.6.23.16/include/linux/ssb/ssb_driver_pci.h 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/include/linux/ssb/ssb_driver_pci.h 2008-03-19 11:16:18.000000000 +0100
+++ linux-2.6.23.16/include/linux/ssb/ssb_driver_pci.h 2008-03-19 11:16:18.000000000 +0100
@@ -1,6 +1,11 @@
#ifndef LINUX_SSB_PCICORE_H_
#define LINUX_SSB_PCICORE_H_
@@ -845,8 +845,8 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb_driver_pci.h
#endif /* LINUX_SSB_PCICORE_H_ */
Index: linux-2.6.23.16/drivers/ssb/main.c
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/main.c 2008-02-28 12:52:40.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/main.c 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/main.c 2008-03-19 11:16:18.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/main.c 2008-03-19 11:16:18.000000000 +0100
@@ -14,6 +14,7 @@
#include <linux/io.h>
#include <linux/ssb/ssb.h>
@@ -907,8 +907,8 @@ Index: linux-2.6.23.16/drivers/ssb/main.c
}
Index: linux-2.6.23.16/drivers/ssb/ssb_private.h
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/ssb_private.h 2008-02-28 12:52:37.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/ssb_private.h 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/ssb_private.h 2008-03-19 11:16:15.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/ssb_private.h 2008-03-19 11:16:18.000000000 +0100
@@ -118,6 +118,8 @@ extern u32 ssb_calc_clock_rate(u32 pllty
extern int ssb_devices_freeze(struct ssb_bus *bus);
extern int ssb_devices_thaw(struct ssb_bus *bus);
@@ -920,8 +920,8 @@ Index: linux-2.6.23.16/drivers/ssb/ssb_private.h
#ifdef CONFIG_SSB_PCIHOST
Index: linux-2.6.23.16/drivers/net/tg3.c
===================================================================
--- linux-2.6.23.16.orig/drivers/net/tg3.c 2008-02-28 12:52:37.000000000 +0100
+++ linux-2.6.23.16/drivers/net/tg3.c 2008-02-29 00:59:00.000000000 +0100
--- linux-2.6.23.16.orig/drivers/net/tg3.c 2008-03-19 11:16:15.000000000 +0100
+++ linux-2.6.23.16/drivers/net/tg3.c 2008-03-19 11:16:18.000000000 +0100
@@ -38,6 +38,7 @@
#include <linux/workqueue.h>
#include <linux/prefetch.h>
@@ -1207,8 +1207,8 @@ Index: linux-2.6.23.16/drivers/net/tg3.c
* swapping. DMA data byte swapping is controlled in the GRC_MODE
Index: linux-2.6.23.16/drivers/net/tg3.h
===================================================================
--- linux-2.6.23.16.orig/drivers/net/tg3.h 2008-02-28 12:52:37.000000000 +0100
+++ linux-2.6.23.16/drivers/net/tg3.h 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/drivers/net/tg3.h 2008-03-19 11:16:15.000000000 +0100
+++ linux-2.6.23.16/drivers/net/tg3.h 2008-03-19 11:16:18.000000000 +0100
@@ -2279,6 +2279,10 @@ struct tg3 {
#define TG3_FLG2_PHY_JITTER_BUG 0x20000000
#define TG3_FLG2_NO_FWARE_REPORTED 0x40000000
@@ -1240,8 +1240,8 @@ Index: linux-2.6.23.16/drivers/net/tg3.h
dma_addr_t stats_mapping;
Index: linux-2.6.23.16/drivers/ssb/driver_mipscore.c
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/driver_mipscore.c 2008-02-28 12:52:40.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_mipscore.c 2008-02-28 12:52:40.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/driver_mipscore.c 2008-03-19 11:16:18.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_mipscore.c 2008-03-19 11:16:18.000000000 +0100
@@ -211,6 +211,7 @@ void ssb_mipscore_init(struct ssb_mipsco
/* fallthrough */
case SSB_DEV_PCI:

File diff suppressed because it is too large Load Diff

View File

@@ -2,8 +2,8 @@ This patch ports ssb to the 2.6.23 kernel.
Index: linux-2.6.23.16/drivers/ssb/driver_mipscore.c
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/driver_mipscore.c 2008-02-19 13:45:04.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_mipscore.c 2008-02-19 13:45:07.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/driver_mipscore.c 2008-03-21 17:33:28.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_mipscore.c 2008-03-21 17:33:34.000000000 +0100
@@ -222,3 +222,5 @@ void ssb_mipscore_init(struct ssb_mipsco
ssb_mips_serial_init(mcore);
ssb_mips_flash_detect(mcore);
@@ -12,9 +12,9 @@ Index: linux-2.6.23.16/drivers/ssb/driver_mipscore.c
+EXPORT_SYMBOL(ssb_mips_irq);
Index: linux-2.6.23.16/include/linux/mod_devicetable.h
===================================================================
--- linux-2.6.23.16.orig/include/linux/mod_devicetable.h 2008-02-19 13:45:04.000000000 +0100
+++ linux-2.6.23.16/include/linux/mod_devicetable.h 2008-02-19 13:45:07.000000000 +0100
@@ -340,4 +340,19 @@ struct parisc_device_id {
--- linux-2.6.23.16.orig/include/linux/mod_devicetable.h 2008-03-21 17:33:28.000000000 +0100
+++ linux-2.6.23.16/include/linux/mod_devicetable.h 2008-03-21 17:33:34.000000000 +0100
@@ -352,4 +352,19 @@ struct parisc_device_id {
#define PA_HVERSION_ANY_ID 0xffff
#define PA_SVERSION_ANY_ID 0xffffffff
@@ -36,8 +36,8 @@ Index: linux-2.6.23.16/include/linux/mod_devicetable.h
#endif /* LINUX_MOD_DEVICETABLE_H */
Index: linux-2.6.23.16/drivers/ssb/main.c
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/main.c 2008-02-19 13:45:04.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/main.c 2008-02-19 13:45:07.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/main.c 2008-03-21 17:33:28.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/main.c 2008-03-21 17:33:34.000000000 +0100
@@ -321,14 +321,16 @@ static int ssb_bus_match(struct device *
return 0;
}
@@ -59,8 +59,8 @@ Index: linux-2.6.23.16/drivers/ssb/main.c
ssb_dev->id.revision);
Index: linux-2.6.23.16/drivers/ssb/scan.c
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/scan.c 2008-02-19 13:45:04.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/scan.c 2008-02-19 13:45:07.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/scan.c 2008-03-21 17:33:28.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/scan.c 2008-03-21 17:33:34.000000000 +0100
@@ -391,12 +391,14 @@ int ssb_bus_scan(struct ssb_bus *bus,
if (bus->bustype == SSB_BUSTYPE_PCI) {
/* Ignore PCI cores on PCI-E cards.
@@ -82,8 +82,8 @@ Index: linux-2.6.23.16/drivers/ssb/scan.c
if (bus->pcicore.dev) {
Index: linux-2.6.23.16/drivers/ssb/driver_pcicore.c
===================================================================
--- linux-2.6.23.16.orig/drivers/ssb/driver_pcicore.c 2008-02-19 13:45:04.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_pcicore.c 2008-02-19 13:45:07.000000000 +0100
--- linux-2.6.23.16.orig/drivers/ssb/driver_pcicore.c 2008-03-21 17:33:28.000000000 +0100
+++ linux-2.6.23.16/drivers/ssb/driver_pcicore.c 2008-03-21 17:33:34.000000000 +0100
@@ -362,7 +362,7 @@ static int pcicore_is_in_hostmode(struct
chipid_top != 0x5300)
return 0;