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:
parent
cf8eecaad5
commit
3527e7a649
15 changed files with 112 additions and 120 deletions
|
@ -432,6 +432,22 @@ endef
|
||||||
$(eval $(call KernelPackage,ledtrig-morse))
|
$(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
|
define KernelPackage/nsc-gpio
|
||||||
SUBMENU:=$(OTHER_MENU)
|
SUBMENU:=$(OTHER_MENU)
|
||||||
TITLE:=Natsemi GPIO support
|
TITLE:=Natsemi GPIO support
|
||||||
|
|
|
@ -355,6 +355,7 @@ CONFIG_GENERIC_HWEIGHT=y
|
||||||
CONFIG_GENERIC_IRQ_PROBE=y
|
CONFIG_GENERIC_IRQ_PROBE=y
|
||||||
CONFIG_GENERIC_TIME=y
|
CONFIG_GENERIC_TIME=y
|
||||||
# CONFIG_GFS2_FS is not set
|
# CONFIG_GFS2_FS is not set
|
||||||
|
CONFIG_GPIO_DEVICE=m
|
||||||
# CONFIG_HAMACHI is not set
|
# CONFIG_HAMACHI is not set
|
||||||
CONFIG_HAMRADIO=y
|
CONFIG_HAMRADIO=y
|
||||||
# CONFIG_HAPPYMEAL is not set
|
# CONFIG_HAPPYMEAL is not set
|
||||||
|
@ -1754,4 +1755,3 @@ CONFIG_ZLIB_DEFLATE=y
|
||||||
CONFIG_ZLIB_INFLATE=y
|
CONFIG_ZLIB_INFLATE=y
|
||||||
CONFIG_ZONE_DMA=y
|
CONFIG_ZONE_DMA=y
|
||||||
CONFIG_ZONE_DMA_FLAG=1
|
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_IRQ_PROBE=y
|
||||||
CONFIG_GENERIC_TIME=y
|
CONFIG_GENERIC_TIME=y
|
||||||
# CONFIG_GFS2_FS is not set
|
# CONFIG_GFS2_FS is not set
|
||||||
|
CONFIG_GPIO_DEVICE=m
|
||||||
# CONFIG_HAMACHI is not set
|
# CONFIG_HAMACHI is not set
|
||||||
CONFIG_HAMRADIO=y
|
CONFIG_HAMRADIO=y
|
||||||
# CONFIG_HAPPYMEAL is not set
|
# CONFIG_HAPPYMEAL is not set
|
||||||
|
@ -1806,4 +1807,3 @@ CONFIG_ZLIB_DEFLATE=y
|
||||||
CONFIG_ZLIB_INFLATE=y
|
CONFIG_ZLIB_INFLATE=y
|
||||||
CONFIG_ZONE_DMA=y
|
CONFIG_ZONE_DMA=y
|
||||||
CONFIG_ZONE_DMA_FLAG=1
|
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_IRQ_PROBE=y
|
||||||
CONFIG_GENERIC_TIME=y
|
CONFIG_GENERIC_TIME=y
|
||||||
# CONFIG_GFS2_FS is not set
|
# CONFIG_GFS2_FS is not set
|
||||||
|
CONFIG_GPIO_DEVICE=m
|
||||||
# CONFIG_GROUP_SCHED is not set
|
# CONFIG_GROUP_SCHED is not set
|
||||||
# CONFIG_HAMACHI is not set
|
# CONFIG_HAMACHI is not set
|
||||||
CONFIG_HAMRADIO=y
|
CONFIG_HAMRADIO=y
|
||||||
|
@ -1856,4 +1857,3 @@ CONFIG_ZLIB_DEFLATE=y
|
||||||
CONFIG_ZLIB_INFLATE=y
|
CONFIG_ZLIB_INFLATE=y
|
||||||
CONFIG_ZONE_DMA=y
|
CONFIG_ZONE_DMA=y
|
||||||
CONFIG_ZONE_DMA_FLAG=1
|
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_IRQ_PROBE=y
|
||||||
CONFIG_GENERIC_TIME=y
|
CONFIG_GENERIC_TIME=y
|
||||||
# CONFIG_GFS2_FS is not set
|
# CONFIG_GFS2_FS is not set
|
||||||
|
CONFIG_GPIO_DEVICE=m
|
||||||
# CONFIG_GROUP_SCHED is not set
|
# CONFIG_GROUP_SCHED is not set
|
||||||
# CONFIG_HAMACHI is not set
|
# CONFIG_HAMACHI is not set
|
||||||
CONFIG_HAMRADIO=y
|
CONFIG_HAMRADIO=y
|
||||||
|
@ -1900,4 +1901,3 @@ CONFIG_ZLIB_DEFLATE=y
|
||||||
CONFIG_ZLIB_INFLATE=y
|
CONFIG_ZLIB_INFLATE=y
|
||||||
CONFIG_ZONE_DMA=y
|
CONFIG_ZONE_DMA=y
|
||||||
CONFIG_ZONE_DMA_FLAG=1
|
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_IRQ_PROBE=y
|
||||||
CONFIG_GENERIC_TIME=y
|
CONFIG_GENERIC_TIME=y
|
||||||
# CONFIG_GFS2_FS is not set
|
# CONFIG_GFS2_FS is not set
|
||||||
|
CONFIG_GPIO_DEVICE=m
|
||||||
# CONFIG_HAMACHI is not set
|
# CONFIG_HAMACHI is not set
|
||||||
CONFIG_HAMRADIO=y
|
CONFIG_HAMRADIO=y
|
||||||
# CONFIG_HAPPYMEAL is not set
|
# 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
|
|
26
target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch
Normal file
26
target/linux/generic-2.6/patches-2.6.23/420-gpiodev.patch
Normal file
|
@ -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/
|
|
26
target/linux/generic-2.6/patches-2.6.24/420-gpiodev.patch
Normal file
26
target/linux/generic-2.6/patches-2.6.24/420-gpiodev.patch
Normal file
|
@ -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/
|
|
26
target/linux/generic-2.6/patches/420-gpiodev.patch
Normal file
26
target/linux/generic-2.6/patches/420-gpiodev.patch
Normal file
|
@ -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
|
--- a/arch/arm/Kconfig
|
||||||
===================================================================
|
+++ b/arch/arm/Kconfig
|
||||||
--- linux-2.6.21.7.orig/arch/arm/Kconfig
|
@@ -505,6 +505,8 @@
|
||||||
+++ linux-2.6.21.7/arch/arm/Kconfig
|
|
||||||
@@ -505,6 +505,8 @@ config PCI_HOST_VIA82C505
|
|
||||||
depends on PCI && ARCH_SHARK
|
depends on PCI && ARCH_SHARK
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
@ -11,38 +9,16 @@ Index: linux-2.6.21.7/arch/arm/Kconfig
|
||||||
source "drivers/pci/Kconfig"
|
source "drivers/pci/Kconfig"
|
||||||
|
|
||||||
source "drivers/pcmcia/Kconfig"
|
source "drivers/pcmcia/Kconfig"
|
||||||
Index: linux-2.6.21.7/drivers/Makefile
|
--- a/drivers/Makefile
|
||||||
===================================================================
|
+++ b/drivers/Makefile
|
||||||
--- linux-2.6.21.7.orig/drivers/Makefile
|
@@ -81,3 +81,4 @@
|
||||||
+++ linux-2.6.21.7/drivers/Makefile
|
|
||||||
@@ -81,3 +81,4 @@ obj-$(CONFIG_GENERIC_TIME) += clocksourc
|
|
||||||
obj-$(CONFIG_DMA_ENGINE) += dma/
|
obj-$(CONFIG_DMA_ENGINE) += dma/
|
||||||
obj-$(CONFIG_HID) += hid/
|
obj-$(CONFIG_HID) += hid/
|
||||||
obj-$(CONFIG_PPC_PS3) += ps3/
|
obj-$(CONFIG_PPC_PS3) += ps3/
|
||||||
+obj-$(CONFIG_PROC_GPIO) += gpio/
|
+obj-$(CONFIG_PROC_GPIO) += gpio/
|
||||||
Index: linux-2.6.21.7/drivers/gpio/Kconfig
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/drivers/gpio/Kconfig
|
||||||
--- linux-2.6.21.7.orig/drivers/gpio/Kconfig
|
@@ -0,0 +1,13 @@
|
||||||
+++ 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
|
|
||||||
+
|
|
||||||
+config PROC_GPIO
|
+config PROC_GPIO
|
||||||
+ tristate "GPIO /proc interface"
|
+ tristate "GPIO /proc interface"
|
||||||
+ depends on PXA25x || PXA27x
|
+ depends on PXA25x || PXA27x
|
||||||
|
@ -55,19 +31,14 @@ Index: linux-2.6.21.7/drivers/gpio/Kconfig
|
||||||
+ depends on PROC_GPIO
|
+ depends on PROC_GPIO
|
||||||
+ help
|
+ help
|
||||||
+ This enables printk logging of activity done through /proc/gpio
|
+ 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
|
+# Expose GPIOs under /proc
|
||||||
+obj-$(CONFIG_PROC_GPIO) += proc_gpio.o
|
+obj-$(CONFIG_PROC_GPIO) += proc_gpio.o
|
||||||
Index: linux-2.6.21.7/drivers/gpio/proc_gpio.c
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ linux-2.6.21.7/drivers/gpio/proc_gpio.c
|
+++ b/drivers/gpio/proc_gpio.c
|
||||||
@@ -0,0 +1,276 @@
|
@@ -0,0 +1,276 @@
|
||||||
+/*
|
+/*
|
||||||
+ *
|
+ *
|
||||||
|
|
Loading…
Reference in a new issue