-Index: linux-2.6.28.2/drivers/mmc/host/gpiommc.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28.2/drivers/mmc/host/gpiommc.c 2009-02-10 17:16:16.000000000 +0100
+--- /dev/null
++++ b/drivers/mmc/host/gpiommc.c
@@ -0,0 +1,608 @@
+/*
+ * Driver an MMC/SD card on a bitbanging GPIO SPI bus.
+ platform_driver_unregister(&gpiommc_plat_driver);
+}
+module_exit(gpiommc_modexit);
-Index: linux-2.6.28.2/drivers/mmc/host/Kconfig
-===================================================================
---- linux-2.6.28.2.orig/drivers/mmc/host/Kconfig 2009-02-10 17:16:15.000000000 +0100
-+++ linux-2.6.28.2/drivers/mmc/host/Kconfig 2009-02-10 17:16:16.000000000 +0100
+--- a/drivers/mmc/host/Kconfig
++++ b/drivers/mmc/host/Kconfig
@@ -192,3 +192,28 @@ config MMC_TMIO
help
This provides support for the SD/MMC cell found in TC6393XB,
+
+config GPIOMMC
+ tristate "MMC/SD over GPIO-based SPI"
-+ depends on MMC && MMC_SPI && SPI_GPIO
++ depends on MMC && MMC_SPI && (SPI_GPIO || SPI_GPIO_OLD)
+ help
+ This driver hooks up the mmc_spi and spi_gpio modules so that
+ MMC/SD cards can be used on a GPIO based bus by bitbanging
+ help
+ This option automatically enables configfs support for gpiommc
+ if configfs is available.
-Index: linux-2.6.28.2/drivers/mmc/host/Makefile
-===================================================================
---- linux-2.6.28.2.orig/drivers/mmc/host/Makefile 2009-02-10 17:16:15.000000000 +0100
-+++ linux-2.6.28.2/drivers/mmc/host/Makefile 2009-02-10 17:16:16.000000000 +0100
+--- a/drivers/mmc/host/Makefile
++++ b/drivers/mmc/host/Makefile
@@ -22,4 +22,5 @@ obj-$(CONFIG_MMC_SPI) += mmc_spi.o
obj-$(CONFIG_MMC_S3C) += s3cmci.o
obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_cs.o
obj-$(CONFIG_MMC_TMIO) += tmio_mmc.o
+obj-$(CONFIG_GPIOMMC) += gpiommc.o
-Index: linux-2.6.28.2/include/linux/mmc/gpiommc.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28.2/include/linux/mmc/gpiommc.h 2009-02-10 17:16:16.000000000 +0100
+--- /dev/null
++++ b/include/linux/mmc/gpiommc.h
@@ -0,0 +1,71 @@
+/*
+ * Device driver for MMC/SD cards driven over a GPIO bus.
+int gpiommc_next_id(void);
+
+#endif /* LINUX_GPIOMMC_H_ */
-Index: linux-2.6.28.2/Documentation/gpiommc.txt
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.28.2/Documentation/gpiommc.txt 2009-02-10 17:16:16.000000000 +0100
+--- /dev/null
++++ b/Documentation/gpiommc.txt
@@ -0,0 +1,97 @@
+GPIOMMC - Driver for an MMC/SD card on a bitbanging GPIO SPI bus
+================================================================
+(/config/gpiommc/my_mmc in this example).
+There's no need to first unregister the device before removing it. That will
+be done automatically.
-Index: linux-2.6.28.2/MAINTAINERS
-===================================================================
---- linux-2.6.28.2.orig/MAINTAINERS 2009-02-10 17:16:15.000000000 +0100
-+++ linux-2.6.28.2/MAINTAINERS 2009-02-10 17:16:16.000000000 +0100
+--- a/MAINTAINERS
++++ b/MAINTAINERS
@@ -1911,6 +1911,11 @@ W: http://moinejf.free.fr
L: video4linux-list@redhat.com
S: Maintained