summaryrefslogtreecommitdiff
path: root/target/linux/generic-2.6
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic-2.6')
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch49
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch57
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch18
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;