From 115a129a30ab1a50d62f8efac868db2380909624 Mon Sep 17 00:00:00 2001 From: juhosg Date: Sat, 26 Jul 2008 10:53:23 +0000 Subject: [kernel] update to 2.6.25.12 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11933 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-2.6.25/100-netfilter_layer7_2.17.patch | 2 +- .../910-m25p80_redboot_partitions.patch | 7 +- .../patches-2.6.25/921-gpio_spi_driver.patch | 36 ++-- .../generic-2.6/patches-2.6.25/922-gpiommc.patch | 42 ++-- .../923-gpiommc-configfs-locking.patch | 18 +- .../patches-2.6.25/950-ocf-linux-26-20080704.patch | 226 +++++++++------------ .../patches-2.6.25/951-ocf-scatterlist-inc.patch | 5 +- ...kport_gpiolib_better_rmmod_infrastructure.patch | 14 +- .../961-backport_gpio_define_gpio_valid.patch | 24 +-- ...rt_gpiolib_dynamic_gpio_number_allocation.patch | 6 +- .../963-backport_gpio_chip_reserve.patch | 14 +- ...64-backport_gpiolib_fix_off_by_one_errors.patch | 8 +- 12 files changed, 162 insertions(+), 240 deletions(-) (limited to 'target/linux/generic-2.6/patches-2.6.25') 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 917adc51a..c530519b3 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 5f35f007f..355cfb267 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 1249a6318..4608a222d 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 8bb4c99bc..326e6bf5f 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 79a4acb50..1d0f5ba65 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 59a84c284..81789b82d 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 "); +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 "); +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 @@ -7957,8 +7923,8 @@ diff -u -r1.1.1.12 -r1.5 +MODULE_LICENSE("BSD"); +MODULE_AUTHOR("David McCullough "); +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 @@ -10715,8 +10681,8 @@ diff -u -r1.1.1.12 -r1.5 +MODULE_LICENSE("BSD"); +MODULE_AUTHOR("David McCullough "); +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 "); +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 "); +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 "); +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 "); +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 "); +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 6148490ac..578558d0b 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 #include 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 a6822fc14..f41b01453 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 Signed-off-by: Linus Torvalds --- -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 58e65efa7..49f380810 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 Signed-off-by: Linus Torvalds --- -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 000742322..bcd5c1948 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 Signed-off-by: Linus Torvalds --- -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 306fb0a16..a4a243e8e 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 Signed-off-by: Linus Torvalds --- -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 715f9abbb..74d7247cc 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 Signed-off-by: Linus Torvalds --- -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", -- cgit v1.2.3