[kernel] fix gpiommc driver on 2.6.26 (closes #4129)
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 7 Nov 2008 19:56:44 +0000 (19:56 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 7 Nov 2008 19:56:44 +0000 (19:56 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13139 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic-2.6/patches-2.6.26/924-gpiommc_2.6.26_fix.patch [new file with mode: 0644]

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 (file)
index 0000000..44beff1
--- /dev/null
@@ -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,