Просмотр исходного кода

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

SVN-Revision: 12133
Gabor Juhos 17 лет назад
Родитель
Сommit
3527e7a649

+ 16 - 0
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

+ 1 - 1
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

+ 1 - 1
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

+ 1 - 1
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

+ 1 - 1
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

+ 1 - 0
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

+ 0 - 0
target/linux/generic-2.6/files/drivers/gpio/gpio_dev.c → target/linux/generic-2.6/files/drivers/char/gpio_dev.c


+ 0 - 15
target/linux/generic-2.6/files/drivers/gpio/Kconfig

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

+ 0 - 1
target/linux/generic-2.6/files/drivers/gpio/Makefile

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

+ 26 - 0
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

+ 0 - 29
target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch

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

+ 0 - 29
target/linux/generic-2.6/patches-2.6.24/920-gpio_dev.patch

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

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