diff options
Diffstat (limited to 'target/linux/generic-2.6')
3 files changed, 54 insertions, 70 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch index 4608a222d9..760d27aeda 100644 --- a/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch +++ b/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch @@ -1,11 +1,12 @@ ---- /dev/null -+++ b/include/linux/spi/spi_gpio.h -@@ -0,0 +1,73 @@ +Index: linux-2.6.25.17/include/linux/spi/spi_gpio.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.25.17/include/linux/spi/spi_gpio.h 2008-10-18 23:32:31.000000000 +0200 +@@ -0,0 +1,72 @@ +/* + * spi_gpio interface to platform code + * + * Copyright (c) 2008 Piotr Skamruk -+ * Copyright (c) 2008 Michael Buesch + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as @@ -74,14 +75,15 @@ +int spi_gpio_next_id(void); + +#endif /* _LINUX_SPI_SPI_GPIO */ ---- /dev/null -+++ b/drivers/spi/spi_gpio.c -@@ -0,0 +1,251 @@ +Index: linux-2.6.25.17/drivers/spi/spi_gpio.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.25.17/drivers/spi/spi_gpio.c 2008-10-18 23:31:27.000000000 +0200 +@@ -0,0 +1,249 @@ +/* + * Bitbanging SPI bus driver using GPIO API + * + * Copyright (c) 2008 Piotr Skamruk -+ * Copyright (c) 2008 Michael Buesch + * + * based on spi_s3c2410_gpio.c + * Copyright (c) 2006 Ben Dooks @@ -325,12 +327,13 @@ +module_exit(spi_gpio_exit); + +MODULE_AUTHOR("Piot Skamruk <piotr.skamruk at gmail.com>"); -+MODULE_AUTHOR("Michael Buesch"); +MODULE_DESCRIPTION("Platform independent GPIO bitbanging SPI driver"); +MODULE_LICENSE("GPL v2"); ---- a/drivers/spi/Kconfig -+++ b/drivers/spi/Kconfig -@@ -100,6 +100,19 @@ +Index: linux-2.6.25.17/drivers/spi/Kconfig +=================================================================== +--- linux-2.6.25.17.orig/drivers/spi/Kconfig 2008-10-18 23:30:41.000000000 +0200 ++++ linux-2.6.25.17/drivers/spi/Kconfig 2008-10-18 23:30:43.000000000 +0200 +@@ -100,6 +100,19 @@ config SPI_BUTTERFLY inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. @@ -350,9 +353,11 @@ config SPI_IMX tristate "Freescale iMX SPI controller" depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL ---- a/drivers/spi/Makefile -+++ b/drivers/spi/Makefile -@@ -16,6 +16,7 @@ +Index: linux-2.6.25.17/drivers/spi/Makefile +=================================================================== +--- linux-2.6.25.17.orig/drivers/spi/Makefile 2008-10-18 23:30:41.000000000 +0200 ++++ linux-2.6.25.17/drivers/spi/Makefile 2008-10-18 23:30:43.000000000 +0200 +@@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx. obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o obj-$(CONFIG_SPI_AU1550) += au1550_spi.o obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o @@ -360,17 +365,3 @@ obj-$(CONFIG_SPI_IMX) += spi_imx.o obj-$(CONFIG_SPI_LM70_LLP) += spi_lm70llp.o obj-$(CONFIG_SPI_PXA2XX) += pxa2xx_spi.o ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -3685,6 +3685,11 @@ - L: spi-devel-general@lists.sourceforge.net - S: Maintained - -+SPI GPIO MASTER DRIVER -+P: Michael Buesch -+M: mb@bu3sch.de -+S: Maintained -+ - STABLE BRANCH: - P: Greg Kroah-Hartman - M: greg@kroah.com diff --git a/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch b/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch index 326e6bf5ff..58c2144985 100644 --- a/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch +++ b/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch @@ -1,13 +1,13 @@ ---- /dev/null -+++ b/drivers/mmc/host/gpiommc.c -@@ -0,0 +1,608 @@ +Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.25.17/drivers/mmc/host/gpiommc.c 2008-10-18 23:33:54.000000000 +0200 +@@ -0,0 +1,605 @@ +/* + * Driver an MMC/SD card on a bitbanging GPIO SPI bus. + * This module hooks up the mmc_spi and spi_gpio modules and also + * provides a configfs interface. + * -+ * Copyright 2008 Michael Buesch <mb@bu3sch.de> -+ * + * Licensed under the GNU/GPL. See COPYING for details. + */ + @@ -32,7 +32,6 @@ + + +MODULE_DESCRIPTION("GPIO based MMC driver"); -+MODULE_AUTHOR("Michael Buesch"); +MODULE_LICENSE("GPL"); + + @@ -609,9 +608,11 @@ + platform_driver_unregister(&gpiommc_plat_driver); +} +module_exit(gpiommc_modexit); ---- a/drivers/mmc/host/Kconfig -+++ b/drivers/mmc/host/Kconfig -@@ -130,3 +130,27 @@ +Index: linux-2.6.25.17/drivers/mmc/host/Kconfig +=================================================================== +--- linux-2.6.25.17.orig/drivers/mmc/host/Kconfig 2008-10-18 23:30:41.000000000 +0200 ++++ linux-2.6.25.17/drivers/mmc/host/Kconfig 2008-10-18 23:32:54.000000000 +0200 +@@ -130,3 +130,27 @@ config MMC_SPI If unsure, or if your system has no SPI master driver, say N. @@ -639,22 +640,24 @@ + help + This option automatically enables configfs support for gpiommc + if configfs is available. ---- a/drivers/mmc/host/Makefile -+++ b/drivers/mmc/host/Makefile -@@ -17,4 +17,4 @@ +Index: linux-2.6.25.17/drivers/mmc/host/Makefile +=================================================================== +--- linux-2.6.25.17.orig/drivers/mmc/host/Makefile 2008-10-18 23:30:41.000000000 +0200 ++++ linux-2.6.25.17/drivers/mmc/host/Makefile 2008-10-18 23:32:54.000000000 +0200 +@@ -17,4 +17,4 @@ obj-$(CONFIG_MMC_OMAP) += omap.o obj-$(CONFIG_MMC_AT91) += at91_mci.o obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o obj-$(CONFIG_MMC_SPI) += mmc_spi.o - +obj-$(CONFIG_GPIOMMC) += gpiommc.o ---- /dev/null -+++ b/include/linux/mmc/gpiommc.h -@@ -0,0 +1,71 @@ +Index: linux-2.6.25.17/include/linux/mmc/gpiommc.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.25.17/include/linux/mmc/gpiommc.h 2008-10-18 23:34:21.000000000 +0200 +@@ -0,0 +1,69 @@ +/* + * Device driver for MMC/SD cards driven over a GPIO bus. + * -+ * Copyright (c) 2008 Michael Buesch -+ * + * Licensed under the GNU/GPL version 2. + */ +#ifndef LINUX_GPIOMMC_H_ @@ -721,8 +724,10 @@ +int gpiommc_next_id(void); + +#endif /* LINUX_GPIOMMC_H_ */ ---- /dev/null -+++ b/Documentation/gpiommc.txt +Index: linux-2.6.25.17/Documentation/gpiommc.txt +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.25.17/Documentation/gpiommc.txt 2008-10-18 23:32:54.000000000 +0200 @@ -0,0 +1,97 @@ +GPIOMMC - Driver for an MMC/SD card on a bitbanging GPIO SPI bus +================================================================ @@ -821,17 +826,3 @@ +(/config/gpiommc/my_mmc in this example). +There's no need to first unregister the device before removing it. That will +be done automatically. ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -1736,6 +1736,11 @@ - W: http://gigaset307x.sourceforge.net/ - S: Maintained - -+GPIOMMC DRIVER -+P: Michael Buesch -+M: mb@bu3sch.de -+S: Maintained -+ - HARDWARE MONITORING - P: Mark M. Hoffman - M: mhoffman@lightlink.com diff --git a/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch b/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch index 1d0f5ba651..e68d4ab014 100644 --- a/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch +++ b/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch @@ -1,9 +1,11 @@ The gpiommc configfs context structure needs locking, as configfs does not lock access between files. ---- a/drivers/mmc/host/gpiommc.c -+++ b/drivers/mmc/host/gpiommc.c -@@ -143,6 +143,8 @@ +Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c +=================================================================== +--- linux-2.6.25.17.orig/drivers/mmc/host/gpiommc.c 2008-10-18 23:33:54.000000000 +0200 ++++ linux-2.6.25.17/drivers/mmc/host/gpiommc.c 2008-10-18 23:34:33.000000000 +0200 +@@ -140,6 +140,8 @@ struct gpiommc_configfs_device { struct platform_device *pdev; /* The configuration */ struct gpiommc_platform_data pdata; @@ -12,7 +14,7 @@ does not lock access between files. }; #define GPIO_INVALID -1 -@@ -233,6 +235,8 @@ +@@ -230,6 +232,8 @@ static ssize_t gpiommc_config_attr_show( unsigned int gpio; int err = 0; @@ -21,7 +23,7 @@ does not lock access between files. if (attr == &gpiommc_attr_DI) { gpio = dev->pdata.pins.gpio_di; if (gpio == GPIO_INVALID) -@@ -293,6 +297,8 @@ +@@ -290,6 +294,8 @@ static ssize_t gpiommc_config_attr_show( WARN_ON(1); err = -ENOSYS; out: @@ -30,7 +32,7 @@ does not lock access between files. return err ? err : count; } -@@ -352,6 +358,8 @@ +@@ -349,6 +355,8 @@ static ssize_t gpiommc_config_attr_store int err = -EINVAL; unsigned long data; @@ -39,7 +41,7 @@ does not lock access between files. if (attr == &gpiommc_attr_register) { err = strict_strtoul(page, 10, &data); if (err) -@@ -477,6 +485,8 @@ +@@ -474,6 +482,8 @@ static ssize_t gpiommc_config_attr_store WARN_ON(1); err = -ENOSYS; out: @@ -48,7 +50,7 @@ does not lock access between files. return err ? err : count; } -@@ -513,6 +523,7 @@ +@@ -510,6 +520,7 @@ static struct config_item *gpiommc_make_ if (!dev) return NULL; |