kernel: add references to openwrt alternative button handling
[oweals/openwrt.git] / package / kernel / linux / modules / input.mk
1 #
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
8 INPUT_MODULES_MENU:=Input modules
9
10 define KernelPackage/hid
11   SUBMENU:=$(INPUT_MODULES_MENU)
12   TITLE:=HID Devices
13   KCONFIG:=CONFIG_HID CONFIG_HIDRAW=y
14   FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
15   AUTOLOAD:=$(call AutoLoad,61,hid)
16   $(call AddDepends/input,+kmod-input-evdev)
17 endef
18
19 define KernelPackage/hid/description
20  Kernel modules for HID devices
21 endef
22
23 $(eval $(call KernelPackage,hid))
24
25 define KernelPackage/hid-generic
26   SUBMENU:=$(INPUT_MODULES_MENU)
27   TITLE:=Generic HID device support
28   KCONFIG:=CONFIG_HID_GENERIC
29   FILES:=$(LINUX_DIR)/drivers/hid/hid-generic.ko
30   AUTOLOAD:=$(call AutoProbe,hid-generic)
31   $(call AddDepends/hid)
32 endef
33
34 define KernelPackage/hid/description
35  Kernel modules for generic HID device (e.g. keyboards and mice) support
36 endef
37
38 $(eval $(call KernelPackage,hid-generic))
39
40 define 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
45 endef
46
47 define KernelPackage/input-core/description
48  Kernel modules for support of input device
49 endef
50
51 $(eval $(call KernelPackage,input-core))
52
53
54 define KernelPackage/input-evdev
55   SUBMENU:=$(INPUT_MODULES_MENU)
56   TITLE:=Input event device
57   KCONFIG:=CONFIG_INPUT_EVDEV
58   FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
59   AUTOLOAD:=$(call AutoLoad,60,evdev)
60   $(call AddDepends/input)
61 endef
62
63 define KernelPackage/input-evdev/description
64  Kernel modules for support of input device events
65 endef
66
67 $(eval $(call KernelPackage,input-evdev))
68
69
70 define KernelPackage/input-gpio-keys
71   SUBMENU:=$(INPUT_MODULES_MENU)
72   TITLE:=GPIO key support
73   DEPENDS:= @GPIO_SUPPORT
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)
79   $(call AddDepends/input)
80 endef
81
82 define KernelPackage/input-gpio-keys/description
83  This driver implements support for buttons connected
84  to GPIO pins of various CPUs (and some other chips).
85
86  See also gpio-button-hotplug which is an alternative, lower overhead
87  implementation that generates uevents instead of kernel input events.
88 endef
89
90 $(eval $(call KernelPackage,input-gpio-keys))
91
92
93 define KernelPackage/input-gpio-keys-polled
94   SUBMENU:=$(INPUT_MODULES_MENU)
95   TITLE:=Polled GPIO key support
96   DEPENDS:=@GPIO_SUPPORT +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)
102   $(call AddDepends/input)
103 endef
104
105 define KernelPackage/input-gpio-keys-polled/description
106  Kernel module for support polled GPIO keys input device
107
108  See also gpio-button-hotplug which is an alternative, lower overhead
109  implementation that generates uevents instead of kernel input events.
110 endef
111
112 $(eval $(call KernelPackage,input-gpio-keys-polled))
113
114
115 define KernelPackage/input-gpio-encoder
116   SUBMENU:=$(INPUT_MODULES_MENU)
117   TITLE:=GPIO rotay encoder
118   KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
119   FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
120   AUTOLOAD:=$(call AutoProbe,rotary_encoder)
121   $(call AddDepends/input,@GPIO_SUPPORT)
122 endef
123
124 define KernelPackage/gpio-encoder/description
125  Kernel module to use rotary encoders connected to GPIO pins
126 endef
127
128 $(eval $(call KernelPackage,input-gpio-encoder))
129
130
131 define KernelPackage/input-joydev
132   SUBMENU:=$(INPUT_MODULES_MENU)
133   TITLE:=Joystick device support
134   KCONFIG:=CONFIG_INPUT_JOYDEV
135   FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
136   AUTOLOAD:=$(call AutoProbe,joydev)
137   $(call AddDepends/input)
138 endef
139
140 define KernelPackage/input-joydev/description
141  Kernel module for joystick support
142 endef
143
144 $(eval $(call KernelPackage,input-joydev))
145
146
147 define KernelPackage/input-polldev
148   SUBMENU:=$(INPUT_MODULES_MENU)
149   TITLE:=Polled Input device support
150   KCONFIG:=CONFIG_INPUT_POLLDEV
151   FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
152   $(call AddDepends/input)
153 endef
154
155 define KernelPackage/input-polldev/description
156  Kernel module for support of polled input devices
157 endef
158
159 $(eval $(call KernelPackage,input-polldev))
160
161
162 define KernelPackage/input-matrixkmap
163   SUBMENU:=$(INPUT_MODULES_MENU)
164   TITLE:=Input matrix devices support
165   KCONFIG:=CONFIG_INPUT_MATRIXKMAP
166   DEPENDS:=@!LINUX_3_3
167   FILES:=$(LINUX_DIR)/drivers/input/matrix-keymap.ko
168   AUTOLOAD:=$(call AutoProbe,matrix-keymap)
169   $(call AddDepends/input)
170 endef
171
172 define KernelPackage/input-matrix/description
173  Kernel module support for input matrix devices
174 endef
175
176 $(eval $(call KernelPackage,input-matrixkmap))
177
178
179 define KernelPackage/acpi-button
180   SUBMENU:=$(INPUT_MODULES_MENU)
181   TITLE:=ACPI Button Support
182   DEPENDS:=@(TARGET_x86_generic||TARGET_x86_kvm_guest||TARGET_x86_xen_domu) +kmod-input-evdev
183   KCONFIG:=CONFIG_ACPI_BUTTON
184   FILES:=$(LINUX_DIR)/drivers/acpi/button.ko
185   AUTOLOAD:=$(call AutoLoad,06,button)
186 endef
187
188 define KernelPackage/acpi-button/description
189  Kernel module for ACPI Button support
190 endef
191
192 $(eval $(call KernelPackage,acpi-button))
193
194
195 define KernelPackage/keyboard-imx
196   SUBMENU:=$(INPUT_MODULES_MENU)
197   TITLE:=IMX keypad support
198   DEPENDS:=@(TARGET_mxs||TARGET_imx6) +kmod-input-matrixkmap
199   KCONFIG:= \
200         CONFIG_KEYBOARD_IMX \
201         CONFIG_INPUT_KEYBOARD=y
202   FILES:=$(LINUX_DIR)/drivers/input/keyboard/imx_keypad.ko
203   AUTOLOAD:=$(call AutoProbe,imx_keypad)
204 endef
205
206 define KernelPackage/keyboard-imx/description
207  Enable support for IMX keypad port.
208 endef
209
210 $(eval $(call KernelPackage,keyboard-imx))