aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/generic-2.6/patches-2.6.26/924-gpiommc_2.6.26_fix.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.26/924-gpiommc_2.6.26_fix.patch b/target/linux/generic-2.6/patches-2.6.26/924-gpiommc_2.6.26_fix.patch
new file mode 100644
index 0000000000..44beff1f5d
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.26/924-gpiommc_2.6.26_fix.patch
@@ -0,0 +1,41 @@
+--- a/drivers/mmc/host/gpiommc.c
++++ b/drivers/mmc/host/gpiommc.c
+@@ -8,11 +8,13 @@
+ * Licensed under the GNU/GPL. See COPYING for details.
+ */
+
+-#include <linux/mmc/gpiommc.h>
+ #include <linux/platform_device.h>
+ #include <linux/list.h>
+ #include <linux/mutex.h>
++#include <linux/mmc/gpiommc.h>
++#include <linux/mmc/host.h>
+ #include <linux/spi/spi_gpio.h>
++#include <linux/spi/mmc_spi.h>
+ #include <linux/configfs.h>
+ #include <linux/gpio.h>
+ #include <asm/atomic.h>
+@@ -25,6 +27,7 @@ struct gpiommc_device {
+ struct platform_device *pdev;
+ struct platform_device *spi_pdev;
+ struct spi_board_info boardinfo;
++ struct mmc_spi_platform_data mmc_spi_data;
+ };
+
+
+@@ -46,6 +49,7 @@ static int gpiommc_boardinfo_setup(struc
+ bi->max_speed_hz = pdata->max_bus_speed;
+ bi->bus_num = master->bus_num;
+ bi->mode = pdata->mode;
++ bi->platform_data = &d->mmc_spi_data;
+
+ return 0;
+ }
+@@ -75,6 +79,7 @@ static int gpiommc_probe(struct platform
+ if (!d)
+ goto error;
+ d->pdev = pdev;
++ d->mmc_spi_data.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34;
+
+ /* Create the SPI-GPIO device */
+ d->spi_pdev = platform_device_alloc(SPI_GPIO_PLATDEV_NAME,