aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/patches-2.6.25
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.25')
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch2
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch7
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch36
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch42
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch18
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch226
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/951-ocf-scatterlist-inc.patch5
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch14
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch24
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch6
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch14
-rw-r--r--target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch8
12 files changed, 162 insertions, 240 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch b/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch
index 917adc51a0..c530519b38 100644
--- a/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch
@@ -2027,7 +2027,7 @@
+}
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
-@@ -210,6 +210,14 @@
+@@ -208,6 +208,14 @@
* too. */
nf_ct_remove_expectations(ct);
diff --git a/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch b/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch
index 5f35f007fc..355cfb2675 100644
--- a/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch
@@ -1,7 +1,6 @@
-diff -Nur a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
---- a/drivers/mtd/devices/m25p80.c 2008-07-06 14:36:59.000000000 +0200
-+++ b/drivers/mtd/devices/m25p80.c 2008-07-06 15:17:48.000000000 +0200
-@@ -631,12 +631,10 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -627,12 +627,10 @@
struct mtd_partition *parts = NULL;
int nr_parts = 0;
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 1249a63188..4608a222d9 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,7 +1,5 @@
-Index: linux-2.6.25.10/include/linux/spi/spi_gpio.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.10/include/linux/spi/spi_gpio.h 2008-07-20 20:10:21.000000000 +0200
+--- /dev/null
++++ b/include/linux/spi/spi_gpio.h
@@ -0,0 +1,73 @@
+/*
+ * spi_gpio interface to platform code
@@ -76,10 +74,8 @@ Index: linux-2.6.25.10/include/linux/spi/spi_gpio.h
+int spi_gpio_next_id(void);
+
+#endif /* _LINUX_SPI_SPI_GPIO */
-Index: linux-2.6.25.10/drivers/spi/spi_gpio.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.10/drivers/spi/spi_gpio.c 2008-07-20 20:10:21.000000000 +0200
+--- /dev/null
++++ b/drivers/spi/spi_gpio.c
@@ -0,0 +1,251 @@
+/*
+ * Bitbanging SPI bus driver using GPIO API
@@ -332,11 +328,9 @@ Index: linux-2.6.25.10/drivers/spi/spi_gpio.c
+MODULE_AUTHOR("Michael Buesch");
+MODULE_DESCRIPTION("Platform independent GPIO bitbanging SPI driver");
+MODULE_LICENSE("GPL v2");
-Index: linux-2.6.25.10/drivers/spi/Kconfig
-===================================================================
---- linux-2.6.25.10.orig/drivers/spi/Kconfig 2008-07-20 20:09:48.000000000 +0200
-+++ linux-2.6.25.10/drivers/spi/Kconfig 2008-07-20 20:11:48.000000000 +0200
-@@ -100,6 +100,19 @@ config SPI_BUTTERFLY
+--- a/drivers/spi/Kconfig
++++ b/drivers/spi/Kconfig
+@@ -100,6 +100,19 @@
inexpensive battery powered microcontroller evaluation board.
This same cable can be used to flash new firmware.
@@ -356,11 +350,9 @@ Index: linux-2.6.25.10/drivers/spi/Kconfig
config SPI_IMX
tristate "Freescale iMX SPI controller"
depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
-Index: linux-2.6.25.10/drivers/spi/Makefile
-===================================================================
---- linux-2.6.25.10.orig/drivers/spi/Makefile 2008-07-20 20:09:48.000000000 +0200
-+++ linux-2.6.25.10/drivers/spi/Makefile 2008-07-20 20:10:21.000000000 +0200
-@@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx.
+--- a/drivers/spi/Makefile
++++ b/drivers/spi/Makefile
+@@ -16,6 +16,7 @@
obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o
obj-$(CONFIG_SPI_AU1550) += au1550_spi.o
obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o
@@ -368,11 +360,9 @@ Index: linux-2.6.25.10/drivers/spi/Makefile
obj-$(CONFIG_SPI_IMX) += spi_imx.o
obj-$(CONFIG_SPI_LM70_LLP) += spi_lm70llp.o
obj-$(CONFIG_SPI_PXA2XX) += pxa2xx_spi.o
-Index: linux-2.6.25.10/MAINTAINERS
-===================================================================
---- linux-2.6.25.10.orig/MAINTAINERS 2008-07-20 20:09:48.000000000 +0200
-+++ linux-2.6.25.10/MAINTAINERS 2008-07-20 20:10:59.000000000 +0200
-@@ -3685,6 +3685,11 @@ M: dbrownell@users.sourceforge.net
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -3685,6 +3685,11 @@
L: spi-devel-general@lists.sourceforge.net
S: Maintained
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 8bb4c99bcd..326e6bf5ff 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,7 +1,5 @@
-Index: linux-2.6.25.10/drivers/mmc/host/gpiommc.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.10/drivers/mmc/host/gpiommc.c 2008-07-20 20:49:16.000000000 +0200
+--- /dev/null
++++ b/drivers/mmc/host/gpiommc.c
@@ -0,0 +1,608 @@
+/*
+ * Driver an MMC/SD card on a bitbanging GPIO SPI bus.
@@ -611,11 +609,9 @@ Index: linux-2.6.25.10/drivers/mmc/host/gpiommc.c
+ platform_driver_unregister(&gpiommc_plat_driver);
+}
+module_exit(gpiommc_modexit);
-Index: linux-2.6.25.10/drivers/mmc/host/Kconfig
-===================================================================
---- linux-2.6.25.10.orig/drivers/mmc/host/Kconfig 2008-07-20 20:32:22.000000000 +0200
-+++ linux-2.6.25.10/drivers/mmc/host/Kconfig 2008-07-20 20:33:20.000000000 +0200
-@@ -130,3 +130,27 @@ config MMC_SPI
+--- a/drivers/mmc/host/Kconfig
++++ b/drivers/mmc/host/Kconfig
+@@ -130,3 +130,27 @@
If unsure, or if your system has no SPI master driver, say N.
@@ -643,20 +639,16 @@ Index: linux-2.6.25.10/drivers/mmc/host/Kconfig
+ help
+ This option automatically enables configfs support for gpiommc
+ if configfs is available.
-Index: linux-2.6.25.10/drivers/mmc/host/Makefile
-===================================================================
---- linux-2.6.25.10.orig/drivers/mmc/host/Makefile 2008-07-20 20:32:22.000000000 +0200
-+++ linux-2.6.25.10/drivers/mmc/host/Makefile 2008-07-20 20:33:20.000000000 +0200
-@@ -17,4 +17,4 @@ obj-$(CONFIG_MMC_OMAP) += omap.o
+--- a/drivers/mmc/host/Makefile
++++ b/drivers/mmc/host/Makefile
+@@ -17,4 +17,4 @@
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
-Index: linux-2.6.25.10/include/linux/mmc/gpiommc.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.10/include/linux/mmc/gpiommc.h 2008-07-20 20:33:20.000000000 +0200
+--- /dev/null
++++ b/include/linux/mmc/gpiommc.h
@@ -0,0 +1,71 @@
+/*
+ * Device driver for MMC/SD cards driven over a GPIO bus.
@@ -729,10 +721,8 @@ Index: linux-2.6.25.10/include/linux/mmc/gpiommc.h
+int gpiommc_next_id(void);
+
+#endif /* LINUX_GPIOMMC_H_ */
-Index: linux-2.6.25.10/Documentation/gpiommc.txt
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.10/Documentation/gpiommc.txt 2008-07-20 20:33:20.000000000 +0200
+--- /dev/null
++++ b/Documentation/gpiommc.txt
@@ -0,0 +1,97 @@
+GPIOMMC - Driver for an MMC/SD card on a bitbanging GPIO SPI bus
+================================================================
@@ -831,11 +821,9 @@ Index: linux-2.6.25.10/Documentation/gpiommc.txt
+(/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.25.10/MAINTAINERS
-===================================================================
---- linux-2.6.25.10.orig/MAINTAINERS 2008-07-20 20:33:20.000000000 +0200
-+++ linux-2.6.25.10/MAINTAINERS 2008-07-20 20:33:20.000000000 +0200
-@@ -1736,6 +1736,11 @@ L: gigaset307x-common@lists.sourceforge.
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -1736,6 +1736,11 @@
W: http://gigaset307x.sourceforge.net/
S: Maintained
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 79a4acb509..1d0f5ba651 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,11 +1,9 @@
The gpiommc configfs context structure needs locking, as configfs
does not lock access between files.
-Index: linux-2.6.25.10/drivers/mmc/host/gpiommc.c
-===================================================================
---- linux-2.6.25.10.orig/drivers/mmc/host/gpiommc.c 2008-07-21 11:57:01.000000000 +0200
-+++ linux-2.6.25.10/drivers/mmc/host/gpiommc.c 2008-07-21 12:01:33.000000000 +0200
-@@ -143,6 +143,8 @@ struct gpiommc_configfs_device {
+--- a/drivers/mmc/host/gpiommc.c
++++ b/drivers/mmc/host/gpiommc.c
+@@ -143,6 +143,8 @@
struct platform_device *pdev;
/* The configuration */
struct gpiommc_platform_data pdata;
@@ -14,7 +12,7 @@ Index: linux-2.6.25.10/drivers/mmc/host/gpiommc.c
};
#define GPIO_INVALID -1
-@@ -233,6 +235,8 @@ static ssize_t gpiommc_config_attr_show(
+@@ -233,6 +235,8 @@
unsigned int gpio;
int err = 0;
@@ -23,7 +21,7 @@ Index: linux-2.6.25.10/drivers/mmc/host/gpiommc.c
if (attr == &gpiommc_attr_DI) {
gpio = dev->pdata.pins.gpio_di;
if (gpio == GPIO_INVALID)
-@@ -293,6 +297,8 @@ static ssize_t gpiommc_config_attr_show(
+@@ -293,6 +297,8 @@
WARN_ON(1);
err = -ENOSYS;
out:
@@ -32,7 +30,7 @@ Index: linux-2.6.25.10/drivers/mmc/host/gpiommc.c
return err ? err : count;
}
-@@ -352,6 +358,8 @@ static ssize_t gpiommc_config_attr_store
+@@ -352,6 +358,8 @@
int err = -EINVAL;
unsigned long data;
@@ -41,7 +39,7 @@ Index: linux-2.6.25.10/drivers/mmc/host/gpiommc.c
if (attr == &gpiommc_attr_register) {
err = strict_strtoul(page, 10, &data);
if (err)
-@@ -477,6 +485,8 @@ static ssize_t gpiommc_config_attr_store
+@@ -477,6 +485,8 @@
WARN_ON(1);
err = -ENOSYS;
out:
@@ -50,7 +48,7 @@ Index: linux-2.6.25.10/drivers/mmc/host/gpiommc.c
return err ? err : count;
}
-@@ -513,6 +523,7 @@ static struct config_item *gpiommc_make_
+@@ -513,6 +523,7 @@
if (!dev)
return NULL;
diff --git a/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch b/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch
index 59a84c284d..81789b82d3 100644
--- a/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch
@@ -1,25 +1,15 @@
-Index: linux-2.6.x/crypto/Kconfig
-===================================================================
-RCS file: /cvs/sw/linux-2.6.x/crypto/Kconfig,v
-retrieving revision 1.1.1.29
-diff -u -r1.1.1.29 Kconfig
---- linux-2.6.x/crypto/Kconfig 10 Oct 2007 00:54:29 -0000 1.1.1.29
-+++ linux-2.6.x/crypto/Kconfig 15 Dec 2007 11:08:08 -0000
-@@ -471,3 +471,6 @@
+--- a/crypto/Kconfig
++++ b/crypto/Kconfig
+@@ -593,3 +593,6 @@
source "drivers/crypto/Kconfig"
endif # if CRYPTO
+
+source "crypto/ocf/Kconfig"
+
-Index: linux-2.6.x/crypto/Makefile
-===================================================================
-RCS file: /cvs/sw/linux-2.6.x/crypto/Makefile,v
-retrieving revision 1.1.1.23
-diff -u -r1.1.1.23 Makefile
---- linux-2.6.x/crypto/Makefile 10 Oct 2007 00:54:29 -0000 1.1.1.23
-+++ linux-2.6.x/crypto/Makefile 15 Dec 2007 11:08:08 -0000
-@@ -51,6 +51,8 @@
+--- a/crypto/Makefile
++++ b/crypto/Makefile
+@@ -65,6 +65,8 @@
obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
@@ -28,14 +18,8 @@ diff -u -r1.1.1.23 Makefile
#
# generic algorithms and the async_tx api
#
-Index: linux-2.6.x/drivers/char/random.c
-===================================================================
-RCS file: /cvs/sw/linux-2.6.x/drivers/char/random.c,v
-retrieving revision 1.1.1.41
-retrieving revision 1.6
-diff -u -r1.1.1.41 -r1.6
---- linux-2.6.x/drivers/char/random.c 22 Apr 2008 01:36:57 -0000 1.1.1.41
-+++ linux-2.6.x/drivers/char/random.c 22 Apr 2008 04:48:56 -0000 1.6
+--- a/drivers/char/random.c
++++ b/drivers/char/random.c
@@ -129,6 +129,9 @@
* unsigned int value);
* void add_interrupt_randomness(int irq);
@@ -122,14 +106,8 @@ diff -u -r1.1.1.41 -r1.6
#define EXTRACT_SIZE 10
/*********************************************************************
-Index: linux-2.6.x/fs/fcntl.c
-===================================================================
-RCS file: /cvs/sw/linux-2.6.x/fs/fcntl.c,v
-retrieving revision 1.1.1.39
-retrieving revision 1.5
-diff -u -r1.1.1.39 -r1.5
---- linux-2.6.x/fs/fcntl.c 22 Apr 2008 01:37:55 -0000 1.1.1.39
-+++ linux-2.6.x/fs/fcntl.c 22 Apr 2008 04:49:02 -0000 1.5
+--- a/fs/fcntl.c
++++ b/fs/fcntl.c
@@ -202,6 +202,7 @@
ret = dupfd(file, 0, 0);
return ret;
@@ -138,14 +116,8 @@ diff -u -r1.1.1.39 -r1.5
#define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | FASYNC | O_DIRECT | O_NOATIME)
-Index: linux-2.6.x/include/linux/miscdevice.h
-===================================================================
-RCS file: /cvs/sw/linux-2.6.x/include/linux/miscdevice.h,v
-retrieving revision 1.1.1.16
-retrieving revision 1.8
-diff -u -r1.1.1.16 -r1.8
---- linux-2.6.x/include/linux/miscdevice.h 22 Apr 2008 01:36:52 -0000 1.1.1.16
-+++ linux-2.6.x/include/linux/miscdevice.h 22 Apr 2008 04:49:10 -0000 1.8
+--- a/include/linux/miscdevice.h
++++ b/include/linux/miscdevice.h
@@ -12,6 +12,7 @@
#define APOLLO_MOUSE_MINOR 7
#define PC110PAD_MINOR 9
@@ -154,14 +126,8 @@ diff -u -r1.1.1.16 -r1.8
#define WATCHDOG_MINOR 130 /* Watchdog timer */
#define TEMP_MINOR 131 /* Temperature Sensor */
#define RTC_MINOR 135
-Index: linux-2.6.x/include/linux/random.h
-===================================================================
-RCS file: /cvs/sw/linux-2.6.x/include/linux/random.h,v
-retrieving revision 1.1.1.12
-retrieving revision 1.5
-diff -u -r1.1.1.12 -r1.5
---- linux-2.6.x/include/linux/random.h 26 Apr 2007 11:16:52 -0000 1.1.1.12
-+++ linux-2.6.x/include/linux/random.h 22 May 2008 03:31:38 -0000 1.5
+--- a/include/linux/random.h
++++ b/include/linux/random.h
@@ -8,6 +8,7 @@
#define _LINUX_RANDOM_H
@@ -212,8 +178,8 @@ diff -u -r1.1.1.12 -r1.5
extern void get_random_bytes(void *buf, int nbytes);
void generate_random_uuid(unsigned char uuid_out[16]);
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/hifn/Makefile 2007-07-25 11:02:33.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/hifn/Makefile
@@ -0,0 +1,13 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -228,8 +194,8 @@ diff -u -r1.1.1.12 -r1.5
+-include $(TOPDIR)/Rules.make
+endif
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/safe/Makefile 2007-07-25 11:02:33.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/safe/Makefile
@@ -0,0 +1,12 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -243,8 +209,8 @@ diff -u -r1.1.1.12 -r1.5
+-include $(TOPDIR)/Rules.make
+endif
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/Makefile 2008-07-04 14:48:17.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/Makefile
@@ -0,0 +1,120 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -366,8 +332,8 @@ diff -u -r1.1.1.12 -r1.5
+ crypto-tools; \
+ gzip -9 /tmp/crypto-tools-$$REL.tar
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/talitos/Makefile 2007-07-25 11:02:33.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/talitos/Makefile
@@ -0,0 +1,12 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -381,8 +347,8 @@ diff -u -r1.1.1.12 -r1.5
+-include $(TOPDIR)/Rules.make
+endif
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/ixp4xx/Makefile 2007-10-19 11:24:59.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/ixp4xx/Makefile
@@ -0,0 +1,104 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -488,8 +454,8 @@ diff -u -r1.1.1.12 -r1.5
+-include $(TOPDIR)/Rules.make
+endif
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/ocfnull/Makefile 2007-07-25 11:02:33.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/ocfnull/Makefile
@@ -0,0 +1,12 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -503,8 +469,8 @@ diff -u -r1.1.1.12 -r1.5
+-include $(TOPDIR)/Rules.make
+endif
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/pasemi/Makefile 2007-12-12 11:36:18.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/pasemi/Makefile
@@ -0,0 +1,12 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -518,8 +484,8 @@ diff -u -r1.1.1.12 -r1.5
+-include $(TOPDIR)/Rules.make
+endif
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/Config.in 2008-06-23 10:09:55.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/Config.in
@@ -0,0 +1,32 @@
+#############################################################################
+
@@ -553,8 +519,8 @@ diff -u -r1.1.1.12 -r1.5
+endmenu
+
+#############################################################################
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/Kconfig 2008-06-23 10:10:33.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/Kconfig
@@ -0,0 +1,95 @@
+menu "OCF Configuration"
+
@@ -651,8 +617,8 @@ diff -u -r1.1.1.12 -r1.5
+ for comparison.
+
+endmenu
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/README 2007-12-15 21:31:03.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/README
@@ -0,0 +1,166 @@
+README - ocf-linux-20071215
+---------------------------
@@ -820,8 +786,8 @@ diff -u -r1.1.1.12 -r1.5
+
+David McCullough
+david_mccullough@securecomputing.com
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/hifn/hifn7751reg.h 2007-06-20 09:15:58.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/hifn/hifn7751reg.h
@@ -0,0 +1,540 @@
+/* $FreeBSD: src/sys/dev/hifn/hifn7751reg.h,v 1.7 2007/03/21 03:42:49 sam Exp $ */
+/* $OpenBSD: hifn7751reg.h,v 1.35 2002/04/08 17:49:42 jason Exp $ */
@@ -1363,8 +1329,8 @@ diff -u -r1.1.1.12 -r1.5
+#define HIFN_MAX_SEGLEN 0xffff /* maximum dma segment len */
+#define HIFN_MAX_DMALEN 0x3ffff /* maximum dma length */
+#endif /* __HIFN_H__ */
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/hifn/hifn7751var.h 2007-06-20 09:22:39.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/hifn/hifn7751var.h
@@ -0,0 +1,369 @@
+/* $FreeBSD: src/sys/dev/hifn/hifn7751var.h,v 1.9 2007/03/21 03:42:49 sam Exp $ */
+/* $OpenBSD: hifn7751var.h,v 1.42 2002/04/08 17:49:42 jason Exp $ */
@@ -1735,8 +1701,8 @@ diff -u -r1.1.1.12 -r1.5
+};
+
+#endif /* __HIFN7751VAR_H__ */
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/hifn/hifn7751.c 2008-02-14 14:59:01.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/hifn/hifn7751.c
@@ -0,0 +1,2970 @@
+/* $OpenBSD: hifn7751.c,v 1.120 2002/05/17 00:33:34 deraadt Exp $ */
+
@@ -4708,8 +4674,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("BSD");
+MODULE_AUTHOR("David McCullough <david_mccullough@securecomputing.com>");
+MODULE_DESCRIPTION("OCF driver for hifn PCI crypto devices");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/hifn/hifnHIPP.c 2007-07-25 14:36:45.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/hifn/hifnHIPP.c
@@ -0,0 +1,420 @@
+/*-
+ * Driver for Hifn HIPP-I/II chipset
@@ -5131,8 +5097,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("BSD");
+MODULE_AUTHOR("Michael Richardson <mcr@xelerance.com>");
+MODULE_DESCRIPTION("OCF driver for hifn HIPP-I/II PCI crypto devices");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/hifn/hifnHIPPreg.h 2007-07-25 10:11:22.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/hifn/hifnHIPPreg.h
@@ -0,0 +1,46 @@
+/*-
+ * Hifn HIPP-I/HIPP-II (7855/8155) driver.
@@ -5180,8 +5146,8 @@ diff -u -r1.1.1.12 -r1.5
+#define HIPP_1_REVID 0x01 /* BOGUS */
+
+#endif /* __HIPP_H__ */
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/hifn/hifnHIPPvar.h 2007-07-25 13:47:04.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/hifn/hifnHIPPvar.h
@@ -0,0 +1,93 @@
+/*
+ * Hifn HIPP-I/HIPP-II (7855/8155) driver.
@@ -5276,8 +5242,8 @@ diff -u -r1.1.1.12 -r1.5
+#define HIPP_UNLOCK(_sc) spin_unlock_irqrestore(&(_sc)->sc_mtx, l_flags)
+
+#endif /* __HIFNHIPPVAR_H__ */
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/safe/md5.c 2005-05-20 10:30:52.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/safe/md5.c
@@ -0,0 +1,308 @@
+/* $KAME: md5.c,v 1.5 2000/11/08 06:13:08 itojun Exp $ */
+/*
@@ -5587,8 +5553,8 @@ diff -u -r1.1.1.12 -r1.5
+ ctxt->md5_stc += C;
+ ctxt->md5_std += D;
+}
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/safe/md5.h 2005-05-20 10:30:52.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/safe/md5.h
@@ -0,0 +1,76 @@
+/* $FreeBSD: src/sys/crypto/md5.h,v 1.4 2002/03/20 05:13:50 alfred Exp $ */
+/* $KAME: md5.h,v 1.4 2000/03/27 04:36:22 sumikawa Exp $ */
@@ -5666,8 +5632,8 @@ diff -u -r1.1.1.12 -r1.5
+} while (0)
+
+#endif /* ! _NETINET6_MD5_H_*/
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/safe/safe.c 2007-07-27 11:34:59.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/safe/safe.c
@@ -0,0 +1,2288 @@
+/*-
+ * Linux port done by David McCullough <david_mccullough@securecomputing.com>
@@ -7957,8 +7923,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("BSD");
+MODULE_AUTHOR("David McCullough <david_mccullough@securecomputing.com>");
+MODULE_DESCRIPTION("OCF driver for safenet PCI crypto devices");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/safe/sha1.c 2005-05-20 10:30:53.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/safe/sha1.c
@@ -0,0 +1,279 @@
+/* $KAME: sha1.c,v 1.5 2000/11/08 06:13:08 itojun Exp $ */
+/*
@@ -8239,8 +8205,8 @@ diff -u -r1.1.1.12 -r1.5
+}
+
+#endif /*unsupported*/
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/safe/sha1.h 2005-05-20 10:30:53.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/safe/sha1.h
@@ -0,0 +1,72 @@
+/* $FreeBSD: src/sys/crypto/sha1.h,v 1.8 2002/03/20 05:13:50 alfred Exp $ */
+/* $KAME: sha1.h,v 1.5 2000/03/27 04:36:23 sumikawa Exp $ */
@@ -8314,8 +8280,8 @@ diff -u -r1.1.1.12 -r1.5
+#define SHA1_RESULTLEN (160/8)
+
+#endif /*_NETINET6_SHA1_H_*/
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/safe/safereg.h 2005-03-16 15:19:57.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/safe/safereg.h
@@ -0,0 +1,421 @@
+/*-
+ * Copyright (c) 2003 Sam Leffler, Errno Consulting
@@ -8738,8 +8704,8 @@ diff -u -r1.1.1.12 -r1.5
+ u_int32_t sa_saved_indigest[5]; /* saved inner digest */
+};
+#endif /* _SAFE_SAFEREG_H_ */
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/safe/safevar.h 2007-07-03 09:46:58.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/safe/safevar.h
@@ -0,0 +1,230 @@
+/*-
+ * The linux port of this code done by David McCullough
@@ -8971,8 +8937,8 @@ diff -u -r1.1.1.12 -r1.5
+ u_int32_t st_noicvcopy; /* ICV data copies suppressed */
+};
+#endif /* _SAFE_SAFEVAR_H_ */
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/crypto.c 2008-07-03 10:58:33.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/crypto.c
@@ -0,0 +1,1741 @@
+/*-
+ * Linux port done by David McCullough <david_mccullough@securecomputing.com>
@@ -10715,8 +10681,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("BSD");
+MODULE_AUTHOR("David McCullough <david_mccullough@securecomputing.com>");
+MODULE_DESCRIPTION("OCF (OpenBSD Cryptographic Framework)");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/criov.c 2007-07-18 13:01:47.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/criov.c
@@ -0,0 +1,215 @@
+/* $OpenBSD: criov.c,v 1.9 2002/01/29 15:48:29 jason Exp $ */
+
@@ -10933,8 +10899,8 @@ diff -u -r1.1.1.12 -r1.5
+EXPORT_SYMBOL(crypto_copydata);
+EXPORT_SYMBOL(crypto_apply);
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/uio.h 2007-07-03 09:52:33.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/uio.h
@@ -0,0 +1,54 @@
+#ifndef _OCF_UIO_H_
+#define _OCF_UIO_H_
@@ -10990,8 +10956,8 @@ diff -u -r1.1.1.12 -r1.5
+};
+
+#endif
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/talitos/talitos.c 2008-04-01 15:48:31.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/talitos/talitos.c
@@ -0,0 +1,1359 @@
+/*
+ * crypto/ocf/talitos/talitos.c
@@ -12352,8 +12318,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_AUTHOR("kim.phillips@freescale.com");
+MODULE_DESCRIPTION("OCF driver for Freescale SEC (talitos)");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/talitos/talitos_soft.h 2007-07-20 11:47:16.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/talitos/talitos_soft.h
@@ -0,0 +1,77 @@
+/*
+ * Freescale SEC data structures for integration with ocf-linux
@@ -12432,8 +12398,8 @@ diff -u -r1.1.1.12 -r1.5
+
+#define TALITOS_SESSION(sid) ((sid) & 0x0fffffff)
+#define TALITOS_SID(crd, sesn) (((crd) << 28) | ((sesn) & 0x0fffffff))
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/talitos/talitos_dev.h 2007-11-23 07:31:44.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/talitos/talitos_dev.h
@@ -0,0 +1,277 @@
+/*
+ * Freescale SEC (talitos) device dependent data structures
@@ -12712,8 +12678,8 @@ diff -u -r1.1.1.12 -r1.5
+ printk(a); \
+ } \
+ } while (0)
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/random.c 2007-12-04 13:56:03.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/random.c
@@ -0,0 +1,317 @@
+/*
+ * A system independant way of adding entropy to the kernels pool
@@ -13032,8 +12998,8 @@ diff -u -r1.1.1.12 -r1.5
+ return retval;
+}
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/ocf-bench.c 2007-07-23 22:26:12.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/ocf-bench.c
@@ -0,0 +1,436 @@
+/*
+ * A loadable module that benchmarks the OCF crypto speed from kernel space.
@@ -13471,8 +13437,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("BSD");
+MODULE_AUTHOR("David McCullough <david_mccullough@securecomputing.com>");
+MODULE_DESCRIPTION("Benchmark various in-kernel crypto speeds");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/ixp4xx/ixp4xx.c 2008-07-03 10:28:05.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/ixp4xx/ixp4xx.c
@@ -0,0 +1,1328 @@
+/*
+ * An OCF module that uses Intels IXP CryptACC API to do the crypto.
@@ -14802,8 +14768,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_AUTHOR("David McCullough <dmccullough@cyberguard.com>");
+MODULE_DESCRIPTION("ixp (OCF module for IXP4xx crypto)");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/cryptodev.c 2007-12-14 12:35:04.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/cryptodev.c
@@ -0,0 +1,1048 @@
+/* $OpenBSD: cryptodev.c,v 1.52 2002/06/19 07:22:46 deraadt Exp $ */
+
@@ -15853,8 +15819,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("BSD");
+MODULE_AUTHOR("David McCullough <david_mccullough@securecomputing.com>");
+MODULE_DESCRIPTION("Cryptodev (user interface to OCF)");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/cryptodev.h 2007-09-26 22:15:05.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/cryptodev.h
@@ -0,0 +1,478 @@
+/* $FreeBSD: src/sys/opencrypto/cryptodev.h,v 1.25 2007/05/09 19:37:02 gnn Exp $ */
+/* $OpenBSD: cryptodev.h,v 1.31 2002/06/11 11:14:29 beck Exp $ */
@@ -16334,8 +16300,8 @@ diff -u -r1.1.1.12 -r1.5
+
+#endif /* __KERNEL__ */
+#endif /* _CRYPTO_CRYPTO_H_ */
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/ocfnull/ocfnull.c 2007-07-13 16:02:05.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/ocfnull/ocfnull.c
@@ -0,0 +1,203 @@
+/*
+ * An OCF module for determining the cost of crypto versus the cost of
@@ -16540,8 +16506,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_AUTHOR("David McCullough <david_mccullough@securecomputing.com>");
+MODULE_DESCRIPTION("ocfnull - claims a lot but does nothing");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/cryptosoft.c 2008-02-14 14:59:01.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/cryptosoft.c
@@ -0,0 +1,898 @@
+/*
+ * An OCF module that uses the linux kernel cryptoapi, based on the
@@ -17441,8 +17407,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_AUTHOR("David McCullough <david_mccullough@securecomputing.com>");
+MODULE_DESCRIPTION("Cryptosoft (OCF module for kernel crypto)");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/rndtest.c 2007-07-20 13:22:03.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/rndtest.c
@@ -0,0 +1,300 @@
+/* $OpenBSD$ */
+
@@ -17744,8 +17710,8 @@ diff -u -r1.1.1.12 -r1.5
+ return(rsp.rs_discard);
+}
+
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/rndtest.h 2005-05-20 10:28:26.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/rndtest.h
@@ -0,0 +1,54 @@
+/* $FreeBSD: src/sys/dev/rndtest/rndtest.h,v 1.1 2003/03/11 22:54:44 sam Exp $ */
+/* $OpenBSD$ */
@@ -17801,8 +17767,8 @@ diff -u -r1.1.1.12 -r1.5
+};
+
+extern int rndtest_buf(unsigned char *buf);
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/ocf-compat.h 2008-04-27 09:30:47.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/ocf-compat.h
@@ -0,0 +1,268 @@
+#ifndef _BSD_COMPAT_H_
+#define _BSD_COMPAT_H_ 1
@@ -18072,8 +18038,8 @@ diff -u -r1.1.1.12 -r1.5
+
+/****************************************************************************/
+#endif /* _BSD_COMPAT_H_ */
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/pasemi/pasemi.c 2007-12-12 11:36:18.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/pasemi/pasemi.c
@@ -0,0 +1,1009 @@
+/*
+ * Copyright (C) 2007 PA Semi, Inc
@@ -19084,8 +19050,8 @@ diff -u -r1.1.1.12 -r1.5
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_AUTHOR("Egor Martovetsky egor@pasemi.com");
+MODULE_DESCRIPTION("OCF driver for PA Semi PWRficient DMA Crypto Engine");
---- /dev/null 2007-07-04 13:54:27.000000000 +1000
-+++ linux/crypto/ocf/pasemi/pasemi_fnu.h 2007-12-12 11:36:18.000000000 +1000
+--- /dev/null
++++ b/crypto/ocf/pasemi/pasemi_fnu.h
@@ -0,0 +1,410 @@
+/*
+ * Copyright (C) 2007 PA Semi, Inc
diff --git a/target/linux/generic-2.6/patches-2.6.25/951-ocf-scatterlist-inc.patch b/target/linux/generic-2.6/patches-2.6.25/951-ocf-scatterlist-inc.patch
index 6148490ac0..578558d0b7 100644
--- a/target/linux/generic-2.6/patches-2.6.25/951-ocf-scatterlist-inc.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/951-ocf-scatterlist-inc.patch
@@ -1,6 +1,5 @@
-diff -Nru linux-2.6.25.10-old/crypto/ocf/cryptosoft.c linux-2.6.25.10/crypto/ocf/cryptosoft.c
---- linux-2.6.25.10-old/crypto/ocf/cryptosoft.c 2008-07-08 23:38:58.114980680 +0200
-+++ linux-2.6.25.10/crypto/ocf/cryptosoft.c 2008-07-08 23:31:15.866980267 +0200
+--- a/crypto/ocf/cryptosoft.c
++++ b/crypto/ocf/cryptosoft.c
@@ -48,6 +48,7 @@
#include <linux/skbuff.h>
#include <linux/random.h>
diff --git a/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch b/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch
index a6822fc14e..f41b01453c 100644
--- a/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch
@@ -22,11 +22,9 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index d8db2f8..eb75d12 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -68,6 +68,9 @@ static void gpio_ensure_requested(struct gpio_desc *desc)
+@@ -68,6 +68,9 @@
if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
pr_warning("GPIO-%d autorequested\n", (int)(desc - gpio_desc));
desc_set_label(desc, "[auto]");
@@ -36,7 +34,7 @@ index d8db2f8..eb75d12 100644
}
}
-@@ -177,6 +180,9 @@ int gpio_request(unsigned gpio, const char *label)
+@@ -177,6 +180,9 @@
if (desc->chip == NULL)
goto done;
@@ -46,7 +44,7 @@ index d8db2f8..eb75d12 100644
/* NOTE: gpio_request() can be called in early boot,
* before IRQs are enabled.
*/
-@@ -184,8 +190,10 @@ int gpio_request(unsigned gpio, const char *label)
+@@ -184,8 +190,10 @@
if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
desc_set_label(desc, label ? : "?");
status = 0;
@@ -58,7 +56,7 @@ index d8db2f8..eb75d12 100644
done:
if (status)
-@@ -209,9 +217,10 @@ void gpio_free(unsigned gpio)
+@@ -209,9 +217,10 @@
spin_lock_irqsave(&gpio_lock, flags);
desc = &gpio_desc[gpio];
@@ -71,8 +69,6 @@ index d8db2f8..eb75d12 100644
WARN_ON(extra_checks);
spin_unlock_irqrestore(&gpio_lock, flags);
-diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
-index f29a502..7e77b6f 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
@@ -17,6 +17,7 @@
@@ -83,7 +79,7 @@ index f29a502..7e77b6f 100644
/**
* struct gpio_chip - abstract a GPIO controller
-@@ -48,6 +49,7 @@ struct seq_file;
+@@ -48,6 +49,7 @@
*/
struct gpio_chip {
char *label;
diff --git a/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch b/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch
index 58e65efa7f..49f3808109 100644
--- a/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch
@@ -16,11 +16,9 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
-diff --git a/Documentation/gpio.txt b/Documentation/gpio.txt
-index 5463009..c35ca9e 100644
--- a/Documentation/gpio.txt
+++ b/Documentation/gpio.txt
-@@ -107,6 +107,16 @@ type of GPIO controller, and on one particular board 80-95 with an FPGA.
+@@ -107,6 +107,16 @@
The numbers need not be contiguous; either of those platforms could also
use numbers 2000-2063 to identify GPIOs in a bank of I2C GPIO expanders.
@@ -37,11 +35,9 @@ index 5463009..c35ca9e 100644
Whether a platform supports multiple GPIO controllers is currently a
platform-specific implementation issue.
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index eb75d12..623fcd9 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -99,7 +99,7 @@ int gpiochip_add(struct gpio_chip *chip)
+@@ -99,7 +99,7 @@
* dynamic allocation. We don't currently support that.
*/
@@ -50,7 +46,7 @@ index eb75d12..623fcd9 100644
status = -EINVAL;
goto fail;
}
-@@ -174,7 +174,7 @@ int gpio_request(unsigned gpio, const char *label)
+@@ -174,7 +174,7 @@
spin_lock_irqsave(&gpio_lock, flags);
@@ -59,7 +55,7 @@ index eb75d12..623fcd9 100644
goto done;
desc = &gpio_desc[gpio];
if (desc->chip == NULL)
-@@ -209,7 +209,7 @@ void gpio_free(unsigned gpio)
+@@ -209,7 +209,7 @@
unsigned long flags;
struct gpio_desc *desc;
@@ -68,7 +64,7 @@ index eb75d12..623fcd9 100644
WARN_ON(extra_checks);
return;
}
-@@ -245,7 +245,7 @@ const char *gpiochip_is_requested(struct gpio_chip *chip, unsigned offset)
+@@ -245,7 +245,7 @@
{
unsigned gpio = chip->base + offset;
@@ -77,7 +73,7 @@ index eb75d12..623fcd9 100644
return NULL;
if (test_bit(FLAG_REQUESTED, &gpio_desc[gpio].flags) == 0)
return NULL;
-@@ -276,7 +276,7 @@ int gpio_direction_input(unsigned gpio)
+@@ -276,7 +276,7 @@
spin_lock_irqsave(&gpio_lock, flags);
@@ -86,7 +82,7 @@ index eb75d12..623fcd9 100644
goto fail;
chip = desc->chip;
if (!chip || !chip->get || !chip->direction_input)
-@@ -314,7 +314,7 @@ int gpio_direction_output(unsigned gpio, int value)
+@@ -314,7 +314,7 @@
spin_lock_irqsave(&gpio_lock, flags);
@@ -95,7 +91,7 @@ index eb75d12..623fcd9 100644
goto fail;
chip = desc->chip;
if (!chip || !chip->set || !chip->direction_output)
-@@ -531,7 +531,7 @@ static int gpiolib_show(struct seq_file *s, void *unused)
+@@ -531,7 +531,7 @@
/* REVISIT this isn't locked against gpio_chip removal ... */
@@ -104,8 +100,6 @@ index eb75d12..623fcd9 100644
if (chip == gpio_desc[gpio].chip)
continue;
chip = gpio_desc[gpio].chip;
-diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
-index 7e77b6f..464c5b3 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
@@ -16,6 +16,12 @@
@@ -121,7 +115,7 @@ index 7e77b6f..464c5b3 100644
struct seq_file;
struct module;
-@@ -99,6 +105,16 @@ extern int __gpio_cansleep(unsigned gpio);
+@@ -99,6 +105,16 @@
#else
diff --git a/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch b/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch
index 0007423223..bcd5c19485 100644
--- a/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch
@@ -21,11 +21,9 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index 623fcd9..2ba6127 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -80,6 +80,33 @@ static inline struct gpio_chip *gpio_to_chip(unsigned gpio)
+@@ -80,6 +80,33 @@
return gpio_desc[gpio].chip;
}
@@ -59,7 +57,7 @@ index 623fcd9..2ba6127 100644
/**
* gpiochip_add() - register a gpio_chip
* @chip: the chip to register, with chip->base initialized
-@@ -88,38 +115,49 @@ static inline struct gpio_chip *gpio_to_chip(unsigned gpio)
+@@ -88,38 +115,49 @@
* Returns a negative errno if the chip can't be registered, such as
* because the chip->base is invalid or already associated with a
* different chip. Otherwise it returns zero as a success code.
diff --git a/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch b/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch
index 306fb0a169..a4a243e8ec 100644
--- a/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch
@@ -19,11 +19,9 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index 2ba6127..24c62b8 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -43,6 +43,7 @@ struct gpio_desc {
+@@ -43,6 +43,7 @@
/* flag symbols are bit numbers */
#define FLAG_REQUESTED 0
#define FLAG_IS_OUT 1
@@ -31,7 +29,7 @@ index 2ba6127..24c62b8 100644
#ifdef CONFIG_DEBUG_FS
const char *label;
-@@ -88,9 +89,10 @@ static int gpiochip_find_base(int ngpio)
+@@ -88,9 +89,10 @@
int base = -ENOSPC;
for (i = ARCH_NR_GPIOS - 1; i >= 0 ; i--) {
@@ -44,7 +42,7 @@ index 2ba6127..24c62b8 100644
spare++;
if (spare == ngpio) {
base = i;
-@@ -98,7 +100,8 @@ static int gpiochip_find_base(int ngpio)
+@@ -98,7 +100,8 @@
}
} else {
spare = 0;
@@ -54,7 +52,7 @@ index 2ba6127..24c62b8 100644
}
}
-@@ -108,6 +111,47 @@ static int gpiochip_find_base(int ngpio)
+@@ -108,6 +111,47 @@
}
/**
@@ -102,11 +100,9 @@ index 2ba6127..24c62b8 100644
* gpiochip_add() - register a gpio_chip
* @chip: the chip to register, with chip->base initialized
* Context: potentially before irqs or kmalloc will work
-diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
-index 464c5b3..ecf675a 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
-@@ -74,6 +74,7 @@ struct gpio_chip {
+@@ -74,6 +74,7 @@
extern const char *gpiochip_is_requested(struct gpio_chip *chip,
unsigned offset);
diff --git a/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch b/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch
index 715f9abbbf..74d7247ccd 100644
--- a/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch
@@ -15,11 +15,9 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index 7f138c6..beaf6b3 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -127,7 +127,7 @@ int __init gpiochip_reserve(int start, int ngpio)
+@@ -127,7 +127,7 @@
unsigned long flags;
int i;
@@ -28,7 +26,7 @@ index 7f138c6..beaf6b3 100644
return -EINVAL;
spin_lock_irqsave(&gpio_lock, flags);
-@@ -170,7 +170,7 @@ int gpiochip_add(struct gpio_chip *chip)
+@@ -170,7 +170,7 @@
unsigned id;
int base = chip->base;
@@ -37,7 +35,7 @@ index 7f138c6..beaf6b3 100644
&& base >= 0) {
status = -EINVAL;
goto fail;
-@@ -207,7 +207,7 @@ fail:
+@@ -207,7 +207,7 @@
/* failures here can mean systems won't boot... */
if (status)
pr_err("gpiochip_add: gpios %d..%d (%s) not registered\n",