1
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-11-18 14:47:46 +01:00

modules/gpio_dev: move to drivers/char/ on older kernels as well, and create a package for it

SVN-Revision: 12133
This commit is contained in:
Gabor Juhos 2008-08-05 09:52:23 +00:00
parent cf8eecaad5
commit 3527e7a649
15 changed files with 112 additions and 120 deletions

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -1 +0,0 @@
obj-$(CONFIG_GPIO_DEVICE) += gpio_dev.o

@ -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

@ -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/

@ -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

@ -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/

@ -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

@ -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 @@
+/*
+ *