Files
openwrt/package/kernel/linux/modules/input.mk
T
Michal Hrusecky 1560c75fa2 kernel: add initial DVB support
Add kernel packages for DVB adapters, frontends and tuners. Not
everything is covered, but the list can grow over the time.

Userspace uses these through /dev/dvb, for example tvheadend from the
packages feed, which streams the tuners to network clients over HTTP
and HTSP.

Remote controller support (kmod-rc-core) goes into the Input modules
menu: rc-core depends only on INPUT and is not DVB specific.

Enabling DVB_CORE and RC_CORE makes parts of the media driver menu
visible which nothing in the tree has enabled so far, so kconfig has
no answer for them and stops for input. Add the 98 missing symbols to
the generic config. CONFIG_MEDIA_RC_SUPPORT, CONFIG_VIDEO_V4L2,
CONFIG_DVB_HD29L2, CONFIG_DVB_USB_FRIIO and CONFIG_IR_SIR do not exist
in kernel 6.18 anymore and are removed.

Tested on kernel 6.18.44, all 78 packages build with CONFIG_ALL_KMODS
and their module paths and kernel symbols were verified against the
kernel tree.

Signed-off-by: Michal Hrusecky <michal.hrusecky@nic.cz>
Signed-off-by: Karel Kočí <karel.koci@nic.cz>
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24788
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-13 20:13:55 +02:00

373 lines
10 KiB
Makefile

#
# 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/hid-alps
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=Alps HID device support
DEPENDS:=+kmod-hid
KCONFIG:=CONFIG_HID_ALPS
FILES:=$(LINUX_DIR)/drivers/hid/hid-alps.ko
AUTOLOAD:=$(call AutoProbe,hid-alps)
endef
define KernelPackage/hid-alps/description
Support for Alps I2C HID touchpads and StickPointer.
endef
$(eval $(call KernelPackage,hid-alps))
define KernelPackage/input-adc-keys
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=ADC Ladder Buttons support
DEPENDS:=+kmod-input-core +kmod-iio-core
KCONFIG:= \
CONFIG_KEYBOARD_ADC \
CONFIG_INPUT_KEYBOARD=y
FILES:=$(LINUX_DIR)/drivers/input/keyboard/adc-keys.ko
AUTOLOAD:=$(call AutoProbe,adc-keys,1)
endef
define KernelPackage/input-adc-keys/description
Buttons/keys input driver for resistor ladder connected on ADC
endef
$(eval $(call KernelPackage,input-adc-keys))
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
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-matrix-keypad
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=GPIO matrix keypad support
DEPENDS:= @GPIO_SUPPORT +kmod-input-core +kmod-input-matrixkmap
KCONFIG:= \
CONFIG_KEYBOARD_MATRIX \
CONFIG_INPUT_KEYBOARD=y
FILES:=$(LINUX_DIR)/drivers/input/keyboard/matrix_keypad.ko
AUTOLOAD:=$(call AutoProbe,matrix_keypad,1)
endef
define KernelPackage/input-matrix-keypad/description
Enable support for GPIO driven matrix keypad.
endef
$(eval $(call KernelPackage,input-matrix-keypad))
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-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_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/input-touchscreen-edt-ft5x06
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=EDT FT5x06 and Focaltech FT6236 based touchscreens
DEPENDS:=+kmod-i2c-core +kmod-input-core +kmod-regmap-i2c
KCONFIG:= \
CONFIG_INPUT_TOUCHSCREEN=y \
CONFIG_TOUCHSCREEN_EDT_FT5X06
FILES:=$(LINUX_DIR)/drivers/input/touchscreen/edt-ft5x06.ko
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))
define KernelPackage/input-mouse-ps2
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=PS/2 mouse support
DEPENDS:=+kmod-i2c-core +kmod-input-core +kmod-input-serio-libps2
KCONFIG:= \
CONFIG_INPUT_MOUSE=y \
CONFIG_MOUSE_PS2 \
CONFIG_MOUSE_PS2_ALPS=y \
CONFIG_MOUSE_PS2_BYD=y \
CONFIG_MOUSE_PS2_LOGIPS2PP=y \
CONFIG_MOUSE_PS2_SYNAPTICS=y \
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y \
CONFIG_MOUSE_PS2_CYPRESS=y \
CONFIG_MOUSE_PS2_LIFEBOOK=y \
CONFIG_MOUSE_PS2_TRACKPOINT=y \
CONFIG_MOUSE_PS2_ELANTECH=y \
CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y \
CONFIG_MOUSE_PS2_SENTELIC=y \
CONFIG_MOUSE_PS2_TOUCHKIT=y \
CONFIG_MOUSE_PS2_OLPC=y \
CONFIG_MOUSE_PS2_FOCALTECH=y \
CONFIG_MOUSE_PS2_VMMOUSE=y
FILES:=$(LINUX_DIR)/drivers/input/mouse/psmouse.ko
AUTOLOAD:=$(call AutoProbe,psmouse)
endef
define KernelPackage/input-mouse-ps2/description
Support for standard 2 or 3-button PS/2 mouse, as well as PS/2
mice with wheels and extra buttons, Microsoft, Logitech or Genius
compatible, and many touchpads as well.
endef
$(eval $(call KernelPackage,input-mouse-ps2))
define KernelPackage/input-serio
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=Serial I/O support
KCONFIG:= CONFIG_SERIO
FILES:=$(LINUX_DIR)/drivers/input/serio/serio.ko
AUTOLOAD:=$(call AutoProbe,serio,1)
endef
define KernelPackage/input-serio/description
Kernel module to support input device that uses serial I/O to
communicate with the system
endef
$(eval $(call KernelPackage,input-serio))
define KernelPackage/input-serio-libps2
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=PS/2 Serial I/O support
DEPENDS:=+kmod-input-serio
KCONFIG:= CONFIG_SERIO_LIBPS2
FILES:=$(LINUX_DIR)/drivers/input/serio/libps2.ko
AUTOLOAD:=$(call AutoProbe,libps2,1)
endef
define KernelPackage/input-serio-libps2/description
Kernel module to support devices connected to a PS/2 port, such
as PS/2 mouse or standard AT keyboard.
endef
$(eval $(call KernelPackage,input-serio-libps2))
define KernelPackage/rc-core
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=Remote Controller support
KCONFIG:= \
CONFIG_RC_DEVICES=y \
CONFIG_RC_CORE
FILES:=$(LINUX_DIR)/drivers/media/rc/rc-core.ko
AUTOLOAD:=$(call AutoProbe,rc-core)
DEPENDS:=+kmod-input-core
endef
define KernelPackage/rc-core/description
Enable support for Remote Controllers on Linux. This is
needed in order to support several video capture adapters,
standalone IR receivers/transmitters, and RF receivers.
Enable this option if you have a video capture board even
if you don't need IR, as otherwise, you may not be able to
compile the driver for your adapter.
endef
$(eval $(call KernelPackage,rc-core))