kernel: fix kmod-input-touchscreen-ads7846 deps
[openwrt/openwrt.git] / package / kernel / linux / modules / input.mk
index 78fa9241cd429c10e9ec3083e81338072afa8b53..99257b6725fc02de8cc1ada2b93a2ba6acd6ffca 100644 (file)
@@ -10,10 +10,10 @@ INPUT_MODULES_MENU:=Input modules
 define KernelPackage/hid
   SUBMENU:=$(INPUT_MODULES_MENU)
   TITLE:=HID Devices
-  KCONFIG:=CONFIG_HID CONFIG_HIDRAW=y
+  DEPENDS:=+kmod-input-core +kmod-input-evdev
+  KCONFIG:=CONFIG_HID CONFIG_HIDRAW=y CONFIG_HID_BATTERY_STRENGTH=y
   FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
   AUTOLOAD:=$(call AutoLoad,61,hid)
-  $(call AddDepends/input,+kmod-input-evdev)
 endef
 
 define KernelPackage/hid/description
@@ -25,14 +25,14 @@ $(eval $(call KernelPackage,hid))
 define KernelPackage/hid-generic
   SUBMENU:=$(INPUT_MODULES_MENU)
   TITLE:=Generic HID device support
+  DEPENDS:=+kmod-hid
   KCONFIG:=CONFIG_HID_GENERIC
   FILES:=$(LINUX_DIR)/drivers/hid/hid-generic.ko
-  AUTOLOAD:=$(call AutoLoad,62,hid-generic)
-  $(call AddDepends/hid)
+  AUTOLOAD:=$(call AutoProbe,hid-generic)
 endef
 
 define KernelPackage/hid/description
 Kernel modules for generic HID device (e.g. keyboards and mice) support
+ Kernel modules for generic HID device (e.g. keyboards and mice) support
 endef
 
 $(eval $(call KernelPackage,hid-generic))
@@ -42,7 +42,6 @@ define KernelPackage/input-core
   TITLE:=Input device core
   KCONFIG:=CONFIG_INPUT
   FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
-  AUTOLOAD:=$(call AutoLoad,19,input-core,1)
 endef
 
 define KernelPackage/input-core/description
@@ -55,10 +54,10 @@ $(eval $(call KernelPackage,input-core))
 define KernelPackage/input-evdev
   SUBMENU:=$(INPUT_MODULES_MENU)
   TITLE:=Input event device
+  DEPENDS:=+kmod-input-core
   KCONFIG:=CONFIG_INPUT_EVDEV
   FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
   AUTOLOAD:=$(call AutoLoad,60,evdev)
-  $(call AddDepends/input)
 endef
 
 define KernelPackage/input-evdev/description
@@ -68,39 +67,23 @@ endef
 $(eval $(call KernelPackage,input-evdev))
 
 
-define KernelPackage/input-gpio-buttons
-  SUBMENU:=$(INPUT_MODULES_MENU)
-  TITLE:=Polled GPIO buttons input device
-  DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
-  KCONFIG:= \
-       CONFIG_INPUT_GPIO_BUTTONS \
-       CONFIG_INPUT_MISC=y
-  FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.ko
-  AUTOLOAD:=$(call AutoLoad,62,gpio_buttons,1)
-endef
-
-define KernelPackage/input-gpio-buttons/description
- Kernel module for support polled GPIO buttons input device
-endef
-
-$(eval $(call KernelPackage,input-gpio-buttons))
-
-
 define KernelPackage/input-gpio-keys
   SUBMENU:=$(INPUT_MODULES_MENU)
   TITLE:=GPIO key support
-  DEPENDS:= @GPIO_SUPPORT
+  DEPENDS:= @GPIO_SUPPORT +kmod-input-core
   KCONFIG:= \
        CONFIG_KEYBOARD_GPIO \
        CONFIG_INPUT_KEYBOARD=y
   FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
-  AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
-  $(call AddDepends/input)
+  AUTOLOAD:=$(call AutoProbe,gpio_keys,1)
 endef
 
 define KernelPackage/input-gpio-keys/description
  This driver implements support for buttons connected
  to GPIO pins of various CPUs (and some other chips).
+
+ See also gpio-button-hotplug which is an alternative, lower overhead
+ implementation that generates uevents instead of kernel input events.
 endef
 
 $(eval $(call KernelPackage,input-gpio-keys))
@@ -114,12 +97,14 @@ define KernelPackage/input-gpio-keys-polled
        CONFIG_KEYBOARD_GPIO_POLLED \
        CONFIG_INPUT_KEYBOARD=y
   FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys_polled.ko
-  AUTOLOAD:=$(call AutoLoad,62,gpio_keys_polled,1)
-  $(call AddDepends/input)
+  AUTOLOAD:=$(call AutoProbe,gpio_keys_polled,1)
 endef
 
 define KernelPackage/input-gpio-keys-polled/description
  Kernel module for support polled GPIO keys input device
+
+ See also gpio-button-hotplug which is an alternative, lower overhead
+ implementation that generates uevents instead of kernel input events.
 endef
 
 $(eval $(call KernelPackage,input-gpio-keys-polled))
@@ -127,11 +112,11 @@ $(eval $(call KernelPackage,input-gpio-keys-polled))
 
 define KernelPackage/input-gpio-encoder
   SUBMENU:=$(INPUT_MODULES_MENU)
-  TITLE:=GPIO rotay encoder
+  TITLE:=GPIO rotary encoder
+  DEPENDS:=@GPIO_SUPPORT +kmod-input-core
   KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
   FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
-  AUTOLOAD:=$(call AutoLoad,62,rotary_encoder)
-  $(call AddDepends/input,@GPIO_SUPPORT)
+  AUTOLOAD:=$(call AutoProbe,rotary_encoder)
 endef
 
 define KernelPackage/gpio-encoder/description
@@ -144,14 +129,14 @@ $(eval $(call KernelPackage,input-gpio-encoder))
 define KernelPackage/input-joydev
   SUBMENU:=$(INPUT_MODULES_MENU)
   TITLE:=Joystick device support
+  DEPENDS:=+kmod-input-core
   KCONFIG:=CONFIG_INPUT_JOYDEV
   FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
-  AUTOLOAD:=$(call AutoLoad,62,joydev)
-  $(call AddDepends/input)
+  AUTOLOAD:=$(call AutoProbe,joydev)
 endef
 
 define KernelPackage/input-joydev/description
 Kernel module for joystick support
+ Kernel module for joystick support
 endef
 
 $(eval $(call KernelPackage,input-joydev))
@@ -160,10 +145,9 @@ $(eval $(call KernelPackage,input-joydev))
 define KernelPackage/input-polldev
   SUBMENU:=$(INPUT_MODULES_MENU)
   TITLE:=Polled Input device support
+  DEPENDS:=+kmod-input-core
   KCONFIG:=CONFIG_INPUT_POLLDEV
   FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
-  AUTOLOAD:=$(call AutoLoad,20,input-polldev,1)
-  $(call AddDepends/input)
 endef
 
 define KernelPackage/input-polldev/description
@@ -174,33 +158,71 @@ $(eval $(call KernelPackage,input-polldev))
 
 
 define KernelPackage/input-matrixkmap
-   SUBMENU:=$(INPUT_MODULES_MENU)
-   TITLE:=Input matrix devices support
-   KCONFIG:=CONFIG_INPUT_MATRIXKMAP
-   DEPENDS:=@!LINUX_3_3
-   FILES:=$(LINUX_DIR)/drivers/input/matrix-keymap.ko
-   AUTOLOAD:=$(call AutoLoad,20,matrix-keymap)
-   $(call AddDepends/input)
+  SUBMENU:=$(INPUT_MODULES_MENU)
+  TITLE:=Input matrix devices support
+  DEPENDS:=+kmod-input-core
+  KCONFIG:=CONFIG_INPUT_MATRIXKMAP
+  FILES:=$(LINUX_DIR)/drivers/input/matrix-keymap.ko
+  AUTOLOAD:=$(call AutoProbe,matrix-keymap)
 endef
 
 define KernelPackage/input-matrix/description
 Kernel module support for input matrix devices
+ Kernel module support for input matrix devices
 endef
 
 $(eval $(call KernelPackage,input-matrixkmap))
 
 
-define KernelPackage/acpi-button
+define KernelPackage/input-touchscreen-ads7846
+  SUBMENU:=$(INPUT_MODULES_MENU)
+  TITLE:=ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens
+  DEPENDS:=+kmod-hwmon-core +kmod-input-core +kmod-spi-bitbang
+  KCONFIG:= \
+       CONFIG_INPUT_TOUCHSCREEN=y \
+       CONFIG_TOUCHSCREEN_PROPERTIES=y \
+       CONFIG_TOUCHSCREEN_ADS7846
+  FILES:=$(LINUX_DIR)/drivers/input/touchscreen/ads7846.ko
+  AUTOLOAD:=$(call AutoProbe,ads7846)
+endef
+
+define KernelPackage/input-touchscreen-ads7846/description
+  Kernel module for ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens
+endef
+
+$(eval $(call KernelPackage,input-touchscreen-ads7846))
+
+
+define KernelPackage/keyboard-imx
   SUBMENU:=$(INPUT_MODULES_MENU)
-  TITLE:=ACPI Button Support
-  DEPENDS:=@(TARGET_x86_generic||TARGET_x86_kvm_guest||TARGET_x86_xen_domu) +kmod-input-evdev
-  KCONFIG:=CONFIG_ACPI_BUTTON
-  FILES:=$(LINUX_DIR)/drivers/acpi/button.ko
-  AUTOLOAD:=$(call AutoLoad,06,button)
+  TITLE:=IMX keypad support
+  DEPENDS:=@(TARGET_mxs||TARGET_imx6) +kmod-input-matrixkmap
+  KCONFIG:= \
+       CONFIG_KEYBOARD_IMX \
+       CONFIG_INPUT_KEYBOARD=y
+  FILES:=$(LINUX_DIR)/drivers/input/keyboard/imx_keypad.ko
+  AUTOLOAD:=$(call AutoProbe,imx_keypad)
+endef
+
+define KernelPackage/keyboard-imx/description
+ Enable support for IMX keypad port.
+endef
+
+$(eval $(call KernelPackage,keyboard-imx))
+
+
+define KernelPackage/input-uinput
+  SUBMENU:=$(INPUT_MODULES_MENU)
+  TITLE:=user input module
+  DEPENDS:=+kmod-input-core
+  KCONFIG:= \
+       CONFIG_INPUT_MISC=y \
+       CONFIG_INPUT_UINPUT
+  FILES:=$(LINUX_DIR)/drivers/input/misc/uinput.ko
+  AUTOLOAD:=$(call AutoProbe,uinput)
 endef
 
-define KernelPackage/acpi-button/description
- Kernel module for ACPI Button support
+define KernelPackage/input-uinput/description
+  user input modules needed for bluez
 endef
 
-$(eval $(call KernelPackage,acpi-button))
+$(eval $(call KernelPackage,input-uinput))