blob: 6478172af2cbfb443b99ac4130ee63ec670c0a21 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
2# Copyright (C) 2006-2013 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8INPUT_MODULES_MENU:=Input modules
9
10define KernelPackage/hid
11 SUBMENU:=$(INPUT_MODULES_MENU)
12 TITLE:=HID Devices
13 DEPENDS:=+kmod-input-core +kmod-input-evdev
14 KCONFIG:=CONFIG_HID CONFIG_HID_SUPPORT=y CONFIG_HIDRAW=y CONFIG_HID_BATTERY_STRENGTH=y
15 FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
16 AUTOLOAD:=$(call AutoLoad,61,hid)
17endef
18
19define KernelPackage/hid/description
20 Kernel modules for HID devices
21endef
22
23$(eval $(call KernelPackage,hid))
24
25define KernelPackage/hid-generic
26 SUBMENU:=$(INPUT_MODULES_MENU)
27 TITLE:=Generic HID device support
28 DEPENDS:=+kmod-hid
29 KCONFIG:=CONFIG_HID_GENERIC
30 FILES:=$(LINUX_DIR)/drivers/hid/hid-generic.ko
31 AUTOLOAD:=$(call AutoProbe,hid-generic)
32endef
33
34define KernelPackage/hid/description
35 Kernel modules for generic HID device (e.g. keyboards and mice) support
36endef
37
38$(eval $(call KernelPackage,hid-generic))
39
40define KernelPackage/input-core
41 SUBMENU:=$(INPUT_MODULES_MENU)
42 TITLE:=Input device core
43 KCONFIG:=CONFIG_INPUT
44 FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
45endef
46
47define KernelPackage/input-core/description
48 Kernel modules for support of input device
49endef
50
51$(eval $(call KernelPackage,input-core))
52
53
54define KernelPackage/input-evdev
55 SUBMENU:=$(INPUT_MODULES_MENU)
56 TITLE:=Input event device
57 DEPENDS:=+kmod-input-core
58 KCONFIG:=CONFIG_INPUT_EVDEV
59 FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
60 AUTOLOAD:=$(call AutoLoad,60,evdev)
61endef
62
63define KernelPackage/input-evdev/description
64 Kernel modules for support of input device events
65endef
66
67$(eval $(call KernelPackage,input-evdev))
68
69
70define KernelPackage/input-gpio-keys
71 SUBMENU:=$(INPUT_MODULES_MENU)
72 TITLE:=GPIO key support
73 DEPENDS:= @GPIO_SUPPORT +kmod-input-core
74 KCONFIG:= \
75 CONFIG_KEYBOARD_GPIO \
76 CONFIG_INPUT_KEYBOARD=y
77 FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
78 AUTOLOAD:=$(call AutoProbe,gpio_keys,1)
79endef
80
81define KernelPackage/input-gpio-keys/description
82 This driver implements support for buttons connected
83 to GPIO pins of various CPUs (and some other chips).
84
85 See also gpio-button-hotplug which is an alternative, lower overhead
86 implementation that generates uevents instead of kernel input events.
87endef
88
89$(eval $(call KernelPackage,input-gpio-keys))
90
91
92define KernelPackage/input-gpio-keys-polled
93 SUBMENU:=$(INPUT_MODULES_MENU)
94 TITLE:=Polled GPIO key support
95 DEPENDS:=@GPIO_SUPPORT +kmod-input-core \
96 +(LINUX_5_4||LINUX_5_10):kmod-input-polldev
97 KCONFIG:= \
98 CONFIG_KEYBOARD_GPIO_POLLED \
99 CONFIG_INPUT_KEYBOARD=y
100 FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys_polled.ko
101 AUTOLOAD:=$(call AutoProbe,gpio_keys_polled,1)
102endef
103
104define KernelPackage/input-gpio-keys-polled/description
105 Kernel module for support polled GPIO keys input device
106
107 See also gpio-button-hotplug which is an alternative, lower overhead
108 implementation that generates uevents instead of kernel input events.
109endef
110
111$(eval $(call KernelPackage,input-gpio-keys-polled))
112
113
114define KernelPackage/input-gpio-encoder
115 SUBMENU:=$(INPUT_MODULES_MENU)
116 TITLE:=GPIO rotary encoder
117 DEPENDS:=@GPIO_SUPPORT +kmod-input-core
118 KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
119 FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
120 AUTOLOAD:=$(call AutoProbe,rotary_encoder)
121endef
122
123define KernelPackage/input-gpio-encoder/description
124 Kernel module to use rotary encoders connected to GPIO pins
125endef
126
127$(eval $(call KernelPackage,input-gpio-encoder))
128
129
130define KernelPackage/input-joydev
131 SUBMENU:=$(INPUT_MODULES_MENU)
132 TITLE:=Joystick device support
133 DEPENDS:=+kmod-input-core
134 KCONFIG:=CONFIG_INPUT_JOYDEV
135 FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
136 AUTOLOAD:=$(call AutoProbe,joydev)
137endef
138
139define KernelPackage/input-joydev/description
140 Kernel module for joystick support
141endef
142
143$(eval $(call KernelPackage,input-joydev))
144
145
146define KernelPackage/input-polldev
147 SUBMENU:=$(INPUT_MODULES_MENU)
148 TITLE:=Polled Input device support
149 DEPENDS:=+kmod-input-core @(LINUX_5_4||LINUX_5_10)
150 KCONFIG:=CONFIG_INPUT_POLLDEV
151 FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
152endef
153
154define KernelPackage/input-polldev/description
155 Kernel module for support of polled input devices
156endef
157
158$(eval $(call KernelPackage,input-polldev))
159
160
161define KernelPackage/input-matrixkmap
162 SUBMENU:=$(INPUT_MODULES_MENU)
163 TITLE:=Input matrix devices support
164 DEPENDS:=+kmod-input-core
165 KCONFIG:=CONFIG_INPUT_MATRIXKMAP
166 FILES:=$(LINUX_DIR)/drivers/input/matrix-keymap.ko
167 AUTOLOAD:=$(call AutoProbe,matrix-keymap)
168endef
169
170define KernelPackage/input-matrixkmap/description
171 Kernel module support for input matrix devices
172endef
173
174$(eval $(call KernelPackage,input-matrixkmap))
175
176
177define KernelPackage/input-touchscreen-ads7846
178 SUBMENU:=$(INPUT_MODULES_MENU)
179 TITLE:=ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens
180 DEPENDS:=+kmod-hwmon-core +kmod-input-core +kmod-spi-bitbang
181 KCONFIG:= \
182 CONFIG_INPUT_TOUCHSCREEN=y \
183 CONFIG_TOUCHSCREEN_PROPERTIES=y@lt5.13 \
184 CONFIG_TOUCHSCREEN_ADS7846
185 FILES:=$(LINUX_DIR)/drivers/input/touchscreen/ads7846.ko \
186 $(LINUX_DIR)/drivers/input/touchscreen/of_touchscreen.ko@lt5.13
187 AUTOLOAD:=$(call AutoProbe,ads7846)
188endef
189
190define KernelPackage/input-touchscreen-ads7846/description
191 Kernel module for ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens
192endef
193
194$(eval $(call KernelPackage,input-touchscreen-ads7846))
195
196
197define KernelPackage/input-touchscreen-edt-ft5x06
198 SUBMENU:=$(INPUT_MODULES_MENU)
199 TITLE:=EDT FT5x06 and Focaltech FT6236 based touchscreens
200 DEPENDS:=+kmod-i2c-core +kmod-input-core +LINUX_6_6:kmod-regmap-i2c
201 KCONFIG:= \
202 CONFIG_INPUT_TOUCHSCREEN=y \
203 CONFIG_TOUCHSCREEN_PROPERTIES=y@lt5.13 \
204 CONFIG_TOUCHSCREEN_EDT_FT5X06
205 FILES:=$(LINUX_DIR)/drivers/input/touchscreen/edt-ft5x06.ko \
206 $(LINUX_DIR)/drivers/input/touchscreen/of_touchscreen.ko@lt5.13
207 AUTOLOAD:=$(call AutoProbe,edt-ft5x06)
208endef
209
210define KernelPackage/input-touchscreen-edt-ft5x06/description
211 Kernel module for EDT FT5206, FT5306, FT5406, FT5506, Evervision FT5726 \
212 and Focaltech FT6236 based touchscreens
213endef
214
215$(eval $(call KernelPackage,input-touchscreen-edt-ft5x06))
216
217
218define KernelPackage/keyboard-imx
219 SUBMENU:=$(INPUT_MODULES_MENU)
220 TITLE:=IMX keypad support
221 DEPENDS:=@(TARGET_mxs||TARGET_imx) +kmod-input-matrixkmap
222 KCONFIG:= \
223 CONFIG_KEYBOARD_IMX \
224 CONFIG_INPUT_KEYBOARD=y
225 FILES:=$(LINUX_DIR)/drivers/input/keyboard/imx_keypad.ko
226 AUTOLOAD:=$(call AutoProbe,imx_keypad)
227endef
228
229define KernelPackage/keyboard-imx/description
230 Enable support for IMX keypad port.
231endef
232
233$(eval $(call KernelPackage,keyboard-imx))
234
235
236define KernelPackage/input-uinput
237 SUBMENU:=$(INPUT_MODULES_MENU)
238 TITLE:=user input module
239 DEPENDS:=+kmod-input-core
240 KCONFIG:= \
241 CONFIG_INPUT_MISC=y \
242 CONFIG_INPUT_UINPUT
243 FILES:=$(LINUX_DIR)/drivers/input/misc/uinput.ko
244 AUTOLOAD:=$(call AutoProbe,uinput)
245endef
246
247define KernelPackage/input-uinput/description
248 user input modules needed for bluez
249endef
250
251$(eval $(call KernelPackage,input-uinput))