summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/kernel/modules/other.mk16
-rw-r--r--target/linux/generic-2.6/config-2.6.232
-rw-r--r--target/linux/generic-2.6/config-2.6.242
-rw-r--r--target/linux/generic-2.6/config-2.6.252
-rw-r--r--target/linux/generic-2.6/config-2.6.262
-rw-r--r--target/linux/generic-2.6/config-default1
-rw-r--r--target/linux/generic-2.6/files/drivers/char/gpio_dev.c (renamed from target/linux/generic-2.6/files/drivers/gpio/gpio_dev.c)0
-rw-r--r--target/linux/generic-2.6/files/drivers/gpio/Kconfig15
-rw-r--r--target/linux/generic-2.6/files/drivers/gpio/Makefile1
-rw-r--r--target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch26
-rw-r--r--target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch29
-rw-r--r--target/linux/generic-2.6/patches-2.6.24/420-gpiodev.patch26
-rw-r--r--target/linux/generic-2.6/patches-2.6.24/920-gpio_dev.patch29
-rw-r--r--target/linux/generic-2.6/patches/420-gpiodev.patch26
-rw-r--r--target/linux/pxa/patches-2.6.21/011-proc-gpio.patch55
15 files changed, 112 insertions, 120 deletions
diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk
index 925f87b9e7..3b8a3b3146 100644
--- a/package/kernel/modules/other.mk
+++ b/package/kernel/modules/other.mk
@@ -432,6 +432,22 @@ endef
$(eval $(call KernelPackage,ledtrig-morse))
+define KernelPackage/gpio-dev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Generic GPIO char device support
+ DEPENDS:=@GPIO_SUPPORT
+ KCONFIG:=CONFIG_GPIO_DEVICE
+ FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
+endef
+
+define KernelPackage/gpio-dev/description
+ Kernel module to allows control of GPIO pins using a character device.
+endef
+
+$(eval $(call KernelPackage,gpio-dev))
+
+
define KernelPackage/nsc-gpio
SUBMENU:=$(OTHER_MENU)
TITLE:=Natsemi GPIO support
diff --git a/target/linux/generic-2.6/config-2.6.23 b/target/linux/generic-2.6/config-2.6.23
index 2f479f1ff3..0d9352b759 100644
--- a/target/linux/generic-2.6/config-2.6.23
+++ b/target/linux/generic-2.6/config-2.6.23
@@ -355,6 +355,7 @@ CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_TIME=y
# CONFIG_GFS2_FS is not set
+CONFIG_GPIO_DEVICE=m
# CONFIG_HAMACHI is not set
CONFIG_HAMRADIO=y
# CONFIG_HAPPYMEAL is not set
@@ -1754,4 +1755,3 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA_FLAG=1
-# CONFIG_GPIO_DEVICE is not set
diff --git a/target/linux/generic-2.6/config-2.6.24 b/target/linux/generic-2.6/config-2.6.24
index c9036f97e3..f6d0a46c75 100644
--- a/target/linux/generic-2.6/config-2.6.24
+++ b/target/linux/generic-2.6/config-2.6.24
@@ -365,6 +365,7 @@ CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_TIME=y
# CONFIG_GFS2_FS is not set
+CONFIG_GPIO_DEVICE=m
# CONFIG_HAMACHI is not set
CONFIG_HAMRADIO=y
# CONFIG_HAPPYMEAL is not set
@@ -1806,4 +1807,3 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA_FLAG=1
-# CONFIG_GPIO_DEVICE is not set
diff --git a/target/linux/generic-2.6/config-2.6.25 b/target/linux/generic-2.6/config-2.6.25
index 097b5a6750..41836c7d6b 100644
--- a/target/linux/generic-2.6/config-2.6.25
+++ b/target/linux/generic-2.6/config-2.6.25
@@ -375,6 +375,7 @@ CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_TIME=y
# CONFIG_GFS2_FS is not set
+CONFIG_GPIO_DEVICE=m
# CONFIG_GROUP_SCHED is not set
# CONFIG_HAMACHI is not set
CONFIG_HAMRADIO=y
@@ -1856,4 +1857,3 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA_FLAG=1
-# CONFIG_GPIO_DEVICE is not set
diff --git a/target/linux/generic-2.6/config-2.6.26 b/target/linux/generic-2.6/config-2.6.26
index daffb987b0..7582e47d18 100644
--- a/target/linux/generic-2.6/config-2.6.26
+++ b/target/linux/generic-2.6/config-2.6.26
@@ -387,6 +387,7 @@ CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_TIME=y
# CONFIG_GFS2_FS is not set
+CONFIG_GPIO_DEVICE=m
# CONFIG_GROUP_SCHED is not set
# CONFIG_HAMACHI is not set
CONFIG_HAMRADIO=y
@@ -1900,4 +1901,3 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA_FLAG=1
-# CONFIG_GPIO_DEVICE is not set
diff --git a/target/linux/generic-2.6/config-default b/target/linux/generic-2.6/config-default
index eb3e738faf..1908e5aade 100644
--- a/target/linux/generic-2.6/config-default
+++ b/target/linux/generic-2.6/config-default
@@ -327,6 +327,7 @@ CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_TIME=y
# CONFIG_GFS2_FS is not set
+CONFIG_GPIO_DEVICE=m
# CONFIG_HAMACHI is not set
CONFIG_HAMRADIO=y
# CONFIG_HAPPYMEAL is not set
diff --git a/target/linux/generic-2.6/files/drivers/gpio/gpio_dev.c b/target/linux/generic-2.6/files/drivers/char/gpio_dev.c
index 48ef76f8a9..48ef76f8a9 100644
--- a/target/linux/generic-2.6/files/drivers/gpio/gpio_dev.c
+++ b/target/linux/generic-2.6/files/drivers/char/gpio_dev.c
diff --git a/target/linux/generic-2.6/files/drivers/gpio/Kconfig b/target/linux/generic-2.6/files/drivers/gpio/Kconfig
deleted file mode 100644
index d97fc1b4f1..0000000000
--- a/target/linux/generic-2.6/files/drivers/gpio/Kconfig
+++ /dev/null
@@ -1,15 +0,0 @@
-menuconfig NEW_GPIO
- bool "GPIO Support"
- depends on GENERIC_GPIO
- help
- Say Y to enable Linux GPIO device support. This allows control of
- GPIO pins using a character device
-
-if NEW_GPIO
-
-config GPIO_DEVICE
- tristate "GPIO device support"
- help
- This option enables the gpio character device
-
-endif # NEW_GPIO
diff --git a/target/linux/generic-2.6/files/drivers/gpio/Makefile b/target/linux/generic-2.6/files/drivers/gpio/Makefile
deleted file mode 100644
index 166c5c7434..0000000000
--- a/target/linux/generic-2.6/files/drivers/gpio/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-obj-$(CONFIG_GPIO_DEVICE) += gpio_dev.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch b/target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch
new file mode 100644
index 0000000000..1508685b65
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch
@@ -0,0 +1,26 @@
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -970,6 +970,13 @@
+
+ If compiled as a module, it will be called cs5535_gpio.
+
++config GPIO_DEVICE
++ tristate "GPIO device support"
++ depends on GENERIC_GPIO
++ help
++ Say Y to enable Linux GPIO device support. This allows control of
++ GPIO pins using a character device
++
+ config GPIO_VR41XX
+ tristate "NEC VR4100 series General-purpose I/O Unit support"
+ depends on CPU_VR41XX
+--- a/drivers/char/Makefile
++++ b/drivers/char/Makefile
+@@ -93,6 +93,7 @@
+ obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o
+ obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
+ obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o
++obj-$(CONFIG_GPIO_DEVICE) += gpio_dev.o
+ obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o
+ obj-$(CONFIG_GPIO_TB0219) += tb0219.o
+ obj-$(CONFIG_TELCLOCK) += tlclk.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch b/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch
deleted file mode 100644
index dcbfaf588b..0000000000
--- a/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -1039,6 +1039,8 @@
-
- source "drivers/leds/Kconfig"
-
-+source "drivers/gpio/Kconfig"
-+
- source "drivers/media/Kconfig"
-
- source "drivers/video/Kconfig"
---- a/drivers/Kconfig
-+++ b/drivers/Kconfig
-@@ -76,6 +76,8 @@
-
- source "drivers/leds/Kconfig"
-
-+source "drivers/gpio/Kconfig"
-+
- source "drivers/infiniband/Kconfig"
-
- source "drivers/edac/Kconfig"
---- a/drivers/Makefile
-+++ b/drivers/Makefile
-@@ -89,3 +89,4 @@
- obj-$(CONFIG_HID) += hid/
- obj-$(CONFIG_PPC_PS3) += ps3/
- obj-$(CONFIG_OF) += of/
-+obj-$(CONFIG_GPIO_DEVICE) += gpio/
diff --git a/target/linux/generic-2.6/patches-2.6.24/420-gpiodev.patch b/target/linux/generic-2.6/patches-2.6.24/420-gpiodev.patch
new file mode 100644
index 0000000000..98187413b3
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.24/420-gpiodev.patch
@@ -0,0 +1,26 @@
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -946,6 +946,13 @@
+
+ If compiled as a module, it will be called cs5535_gpio.
+
++config GPIO_DEVICE
++ tristate "GPIO device support"
++ depends on GENERIC_GPIO
++ help
++ Say Y to enable Linux GPIO device support. This allows control of
++ GPIO pins using a character device
++
+ config GPIO_VR41XX
+ tristate "NEC VR4100 series General-purpose I/O Unit support"
+ depends on CPU_VR41XX
+--- a/drivers/char/Makefile
++++ b/drivers/char/Makefile
+@@ -93,6 +93,7 @@
+ obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o
+ obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
+ obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o
++obj-$(CONFIG_GPIO_DEVICE) += gpio_dev.o
+ obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o
+ obj-$(CONFIG_GPIO_TB0219) += tb0219.o
+ obj-$(CONFIG_TELCLOCK) += tlclk.o
diff --git a/target/linux/generic-2.6/patches-2.6.24/920-gpio_dev.patch b/target/linux/generic-2.6/patches-2.6.24/920-gpio_dev.patch
deleted file mode 100644
index e0a8aa3f55..0000000000
--- a/target/linux/generic-2.6/patches-2.6.24/920-gpio_dev.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -1054,6 +1054,8 @@
-
- source "drivers/mfd/Kconfig"
-
-+source "drivers/gpio/Kconfig"
-+
- source "drivers/media/Kconfig"
-
- source "drivers/video/Kconfig"
---- a/drivers/Kconfig
-+++ b/drivers/Kconfig
-@@ -78,6 +78,8 @@
-
- source "drivers/leds/Kconfig"
-
-+source "drivers/gpio/Kconfig"
-+
- source "drivers/infiniband/Kconfig"
-
- source "drivers/edac/Kconfig"
---- a/drivers/Makefile
-+++ b/drivers/Makefile
-@@ -91,3 +91,4 @@
- obj-$(CONFIG_OF) += of/
- obj-$(CONFIG_SSB) += ssb/
- obj-$(CONFIG_VIRTIO) += virtio/
-+obj-$(CONFIG_GPIO_DEVICE) += gpio/
diff --git a/target/linux/generic-2.6/patches/420-gpiodev.patch b/target/linux/generic-2.6/patches/420-gpiodev.patch
new file mode 100644
index 0000000000..a4f2236f70
--- /dev/null
+++ b/target/linux/generic-2.6/patches/420-gpiodev.patch
@@ -0,0 +1,26 @@
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -984,6 +984,13 @@
+
+ If compiled as a module, it will be called cs5535_gpio.
+
++config GPIO_DEVICE
++ tristate "GPIO device support"
++ depends on GENERIC_GPIO
++ help
++ Say Y to enable Linux GPIO device support. This allows control of
++ GPIO pins using a character device
++
+ config GPIO_VR41XX
+ tristate "NEC VR4100 series General-purpose I/O Unit support"
+ depends on CPU_VR41XX
+--- a/drivers/char/Makefile
++++ b/drivers/char/Makefile
+@@ -90,6 +90,7 @@
+ obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o
+ obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
+ obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o
++obj-$(CONFIG_GPIO_DEVICE) += gpio_dev.o
+ obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o
+ obj-$(CONFIG_TANBAC_TB0219) += tb0219.o
+ obj-$(CONFIG_TELCLOCK) += tlclk.o
diff --git a/target/linux/pxa/patches-2.6.21/011-proc-gpio.patch b/target/linux/pxa/patches-2.6.21/011-proc-gpio.patch
index 8b4383cd51..479a070b55 100644
--- a/target/linux/pxa/patches-2.6.21/011-proc-gpio.patch
+++ b/target/linux/pxa/patches-2.6.21/011-proc-gpio.patch
@@ -1,8 +1,6 @@
-Index: linux-2.6.21.7/arch/arm/Kconfig
-===================================================================
---- linux-2.6.21.7.orig/arch/arm/Kconfig
-+++ linux-2.6.21.7/arch/arm/Kconfig
-@@ -505,6 +505,8 @@ config PCI_HOST_VIA82C505
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -505,6 +505,8 @@
depends on PCI && ARCH_SHARK
default y
@@ -11,38 +9,16 @@ Index: linux-2.6.21.7/arch/arm/Kconfig
source "drivers/pci/Kconfig"
source "drivers/pcmcia/Kconfig"
-Index: linux-2.6.21.7/drivers/Makefile
-===================================================================
---- linux-2.6.21.7.orig/drivers/Makefile
-+++ linux-2.6.21.7/drivers/Makefile
-@@ -81,3 +81,4 @@ obj-$(CONFIG_GENERIC_TIME) += clocksourc
+--- a/drivers/Makefile
++++ b/drivers/Makefile
+@@ -81,3 +81,4 @@
obj-$(CONFIG_DMA_ENGINE) += dma/
obj-$(CONFIG_HID) += hid/
obj-$(CONFIG_PPC_PS3) += ps3/
+obj-$(CONFIG_PROC_GPIO) += gpio/
-Index: linux-2.6.21.7/drivers/gpio/Kconfig
-===================================================================
---- linux-2.6.21.7.orig/drivers/gpio/Kconfig
-+++ linux-2.6.21.7/drivers/gpio/Kconfig
-@@ -2,14 +2,27 @@ menuconfig NEW_GPIO
- bool "GPIO Support"
- depends on GENERIC_GPIO
- help
-- Say Y to enable Linux GPIO device support. This allows control of
-- GPIO pins using a character device
-+ Say Y to enable Linux GPIO device support. This allows control of
-+ GPIO pins using a character device
-
- if NEW_GPIO
-
- config GPIO_DEVICE
- tristate "GPIO device support"
- help
-- This option enables the gpio character device
-+ This option enables the gpio character device
-
- endif # NEW_GPIO
-+
+--- /dev/null
++++ b/drivers/gpio/Kconfig
+@@ -0,0 +1,13 @@
+config PROC_GPIO
+ tristate "GPIO /proc interface"
+ depends on PXA25x || PXA27x
@@ -55,19 +31,14 @@ Index: linux-2.6.21.7/drivers/gpio/Kconfig
+ depends on PROC_GPIO
+ help
+ This enables printk logging of activity done through /proc/gpio
-Index: linux-2.6.21.7/drivers/gpio/Makefile
-===================================================================
---- linux-2.6.21.7.orig/drivers/gpio/Makefile
-+++ linux-2.6.21.7/drivers/gpio/Makefile
-@@ -1 +1,4 @@
- obj-$(CONFIG_GPIO_DEVICE) += gpio_dev.o
+
+--- /dev/null
++++ b/drivers/gpio/Makefile
+@@ -0,0 +1,2 @@
+# Expose GPIOs under /proc
+obj-$(CONFIG_PROC_GPIO) += proc_gpio.o
-Index: linux-2.6.21.7/drivers/gpio/proc_gpio.c
-===================================================================
--- /dev/null
-+++ linux-2.6.21.7/drivers/gpio/proc_gpio.c
++++ b/drivers/gpio/proc_gpio.c
@@ -0,0 +1,276 @@
+/*
+ *