zephyr/drivers/input
Fabio Baltieri e5974b2aac input: gpio_keys: implement polling mode support
Some MCU have limitations with GPIO interrupts. Add a polling mode to
the gpio-keys driver to support those cases.

This required a bit of a refactoring of the driver data structure to add
a instance wide data, and move the pin specific pointer in the config
structure.

For polling, reuse the button 0 delayed work so we minimize the resource
waste, the two work handler functions are only referenced when used so
at least those are discarded automatically if no instance needs them.

Fix a bug in the PM structure instantiation as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-10 18:21:49 +00:00
..
CMakeLists.txt drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
input_analog_axis.c drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
input_analog_axis_settings.c drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
input_cap1203.c drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
input_cst816s.c input: cst816s: simplify the reset code 2023-11-06 08:50:33 +00:00
input_esp32_touch_sensor.c driver: input: espressif touch_sensor 2023-12-11 18:31:38 +01:00
input_ft5336.c input: ft5336: add suspend and resume support 2023-12-15 11:32:56 +00:00
input_gpio_kbd_matrix.c input: gpio_kbd_matrix: use edge-to-active interrupt 2023-12-18 12:25:19 +01:00
input_gpio_keys.c input: gpio_keys: implement polling mode support 2024-01-10 18:21:49 +00:00
input_gpio_qdec.c drivers: input: fix few types 2023-12-06 09:25:49 +00:00
input_gt911.c posix: Fix name collision with __bswap 2024-01-10 18:13:44 +00:00
input_ite_it8xxx2_kbd.c input: gpio_kbd_matrix: define a type for the row data 2023-11-22 09:52:39 +01:00
input_kbd_matrix.c input: kbd_matrix: fail gracefully if changing an undefined key mask 2024-01-04 18:40:10 +00:00
input_npcx_kbd.c input: npcx_kbd: setup the interrupt to falling edge only 2023-12-20 18:07:43 +00:00
input_sdl_touch.c input SDL: Split in top and bottom 2023-07-06 16:04:15 +02:00
input_sdl_touch_bottom.c input SDL: Split in top and bottom 2023-07-06 16:04:15 +02:00
input_sdl_touch_bottom.h input SDL: Split in top and bottom 2023-07-06 16:04:15 +02:00
input_stmpe811.c drivers: input: add driver for stmpe811 i2c touch controller 2023-09-22 09:29:56 +02:00
input_xpt2046.c drivers: input: add few missing gpio_add_callback return check 2023-07-19 09:18:38 +00:00
Kconfig drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
Kconfig.analog_axis drivers: input: add an analog-axis driver 2024-01-10 15:05:35 +01:00
Kconfig.cap1203 input: convert cap1203 from kscan 2023-07-25 11:25:51 +02:00
Kconfig.cst816s input: convert cst816s from kscan 2023-07-18 08:55:26 -05:00
Kconfig.esp32 driver: input: espressif touch_sensor 2023-12-11 18:31:38 +01:00
Kconfig.evdev drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.ft5336 drivers: input: ft5336: Add support for reset GPIO and FT3267 IC 2023-07-25 09:08:59 +02:00
Kconfig.gpio_kbd_matrix input: add a gpio based keyboard matrix driver 2023-11-15 11:41:25 +01:00
Kconfig.gpio_keys drivers: input: drop the zephyr,gpio-keys binding 2023-08-07 11:26:26 +02:00
Kconfig.gpio_qdec input: add a gpio qdec input driver 2023-06-22 10:46:15 +02:00
Kconfig.gt911 input: convert gt911 from kscan 2023-07-13 14:24:50 +00:00
Kconfig.it8xxx2 drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.kbd_matrix drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.npcx drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.sdl input: convert the kscan_sdl driver from kscan to input 2023-04-11 09:34:23 +02:00
Kconfig.stmpe811 drivers: input: add driver for stmpe811 i2c touch controller 2023-09-22 09:29:56 +02:00
Kconfig.xpt2046 input: convert xpt2046 from kscan 2023-06-27 12:17:06 +00:00
linux_evdev.c input: use K_KERNEL_STACK_SIZEOF to set the thread stack size 2023-12-23 09:59:28 +00:00
linux_evdev_bottom.c input: add a linux-evdev device 2023-12-18 12:23:59 +01:00
linux_evdev_bottom.h input: add a linux-evdev device 2023-12-18 12:23:59 +01:00