ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/kernel/linux/modules/input.mk b/package/kernel/linux/modules/input.mk
new file mode 100644
index 0000000..6478172
--- /dev/null
+++ b/package/kernel/linux/modules/input.mk
@@ -0,0 +1,251 @@
+#
+# Copyright (C) 2006-2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+INPUT_MODULES_MENU:=Input modules
+
+define KernelPackage/hid
+ SUBMENU:=$(INPUT_MODULES_MENU)
+ TITLE:=HID Devices
+ DEPENDS:=+kmod-input-core +kmod-input-evdev
+ KCONFIG:=CONFIG_HID CONFIG_HID_SUPPORT=y CONFIG_HIDRAW=y CONFIG_HID_BATTERY_STRENGTH=y
+ FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
+ AUTOLOAD:=$(call AutoLoad,61,hid)
+endef
+
+define KernelPackage/hid/description
+ Kernel modules for HID devices
+endef
+
+$(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 AutoProbe,hid-generic)
+endef
+
+define KernelPackage/hid/description
+ Kernel modules for generic HID device (e.g. keyboards and mice) support
+endef
+
+$(eval $(call KernelPackage,hid-generic))
+
+define KernelPackage/input-core
+ SUBMENU:=$(INPUT_MODULES_MENU)
+ TITLE:=Input device core
+ KCONFIG:=CONFIG_INPUT
+ FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
+endef
+
+define KernelPackage/input-core/description
+ Kernel modules for support of input device
+endef
+
+$(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)
+endef
+
+define KernelPackage/input-evdev/description
+ Kernel modules for support of input device events
+endef
+
+$(eval $(call KernelPackage,input-evdev))
+
+
+define KernelPackage/input-gpio-keys
+ SUBMENU:=$(INPUT_MODULES_MENU)
+ TITLE:=GPIO key 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 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))
+
+
+define KernelPackage/input-gpio-keys-polled
+ SUBMENU:=$(INPUT_MODULES_MENU)
+ TITLE:=Polled GPIO key support
+ DEPENDS:=@GPIO_SUPPORT +kmod-input-core \
+ +(LINUX_5_4||LINUX_5_10):kmod-input-polldev
+ KCONFIG:= \
+ CONFIG_KEYBOARD_GPIO_POLLED \
+ CONFIG_INPUT_KEYBOARD=y
+ FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys_polled.ko
+ 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))
+
+
+define KernelPackage/input-gpio-encoder
+ SUBMENU:=$(INPUT_MODULES_MENU)
+ 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 AutoProbe,rotary_encoder)
+endef
+
+define KernelPackage/input-gpio-encoder/description
+ Kernel module to use rotary encoders connected to GPIO pins
+endef
+
+$(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 AutoProbe,joydev)
+endef
+
+define KernelPackage/input-joydev/description
+ Kernel module for joystick support
+endef
+
+$(eval $(call KernelPackage,input-joydev))
+
+
+define KernelPackage/input-polldev
+ SUBMENU:=$(INPUT_MODULES_MENU)
+ TITLE:=Polled Input device support
+ DEPENDS:=+kmod-input-core @(LINUX_5_4||LINUX_5_10)
+ KCONFIG:=CONFIG_INPUT_POLLDEV
+ FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
+endef
+
+define KernelPackage/input-polldev/description
+ Kernel module for support of polled input devices
+endef
+
+$(eval $(call KernelPackage,input-polldev))
+
+
+define KernelPackage/input-matrixkmap
+ 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-matrixkmap/description
+ Kernel module support for input matrix devices
+endef
+
+$(eval $(call KernelPackage,input-matrixkmap))
+
+
+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@lt5.13 \
+ CONFIG_TOUCHSCREEN_ADS7846
+ FILES:=$(LINUX_DIR)/drivers/input/touchscreen/ads7846.ko \
+ $(LINUX_DIR)/drivers/input/touchscreen/of_touchscreen.ko@lt5.13
+ 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/input-touchscreen-edt-ft5x06
+ SUBMENU:=$(INPUT_MODULES_MENU)
+ TITLE:=EDT FT5x06 and Focaltech FT6236 based touchscreens
+ DEPENDS:=+kmod-i2c-core +kmod-input-core +LINUX_6_6:kmod-regmap-i2c
+ KCONFIG:= \
+ CONFIG_INPUT_TOUCHSCREEN=y \
+ CONFIG_TOUCHSCREEN_PROPERTIES=y@lt5.13 \
+ CONFIG_TOUCHSCREEN_EDT_FT5X06
+ FILES:=$(LINUX_DIR)/drivers/input/touchscreen/edt-ft5x06.ko \
+ $(LINUX_DIR)/drivers/input/touchscreen/of_touchscreen.ko@lt5.13
+ AUTOLOAD:=$(call AutoProbe,edt-ft5x06)
+endef
+
+define KernelPackage/input-touchscreen-edt-ft5x06/description
+ Kernel module for EDT FT5206, FT5306, FT5406, FT5506, Evervision FT5726 \
+ and Focaltech FT6236 based touchscreens
+endef
+
+$(eval $(call KernelPackage,input-touchscreen-edt-ft5x06))
+
+
+define KernelPackage/keyboard-imx
+ SUBMENU:=$(INPUT_MODULES_MENU)
+ TITLE:=IMX keypad support
+ DEPENDS:=@(TARGET_mxs||TARGET_imx) +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/input-uinput/description
+ user input modules needed for bluez
+endef
+
+$(eval $(call KernelPackage,input-uinput))