input synaptics-rmi4: Add F30 support
Subsystems (2)
PATCH v3 1/1 input synaptics-rmi4: Add F30 support
RMI4 Function 0x30 provides support for GPIOs, LEDs and mechanical buttons. In particular, the mechanical button support is used in an increasing number of touchpads.
Note - this updates the patch of 2014/03/04 to address feedback received.
Signed-off-by Andrew Duggan <[email protected]>
Signed-off-by Allie Xiong <[email protected]>
Cc Dmitry Torokhov <[email protected]>
Cc Benjamin Tissoires <[email protected]>
Cc Linux Walleij <[email protected]>
Cc David Herrmann <[email protected]>
Cc Jiri Kosina <[email protected]>
---
drivers/input/rmi4/Kconfig | 12 ++ drivers/input/rmi4/Makefile | 1 + drivers/input/rmi4/rmi_f30.c | 399 +++++++++++++++++++++++++++++++++++++++++++ include/linux/rmi.h | 7 +- 4 files changed, 418 insertions(+), 1 deletion(-)
drivers/input/rmi4/Kconfig +12 -0
@@ -63,3 +63,15 @@ config RMI4_F11_PEN If your system is not recognizing pen touches and you know your sensor supports pen input, you probably want to turn this feature off. + +config RMI4_F30 + tristate "RMI4 Function 30 (GPIO LED)" + depends on RMI4_CORE + help + Say Y here if you want to add support for RMI4 function 30. + + Function 30 provides GPIO and LED support for RMI4 devices. This + includes support for buttons on TouchPads and ClickPads. + + To compile this driver as a module, choose M here: the + module will be called rmi-f30.
drivers/input/rmi4/Makefile +1 -0
@@ -3,6 +3,7 @@ rmi_core-y := rmi_bus.o rmi_driver.o rmi_f01.o # Function drivers obj-$(CONFIG_RMI4_F11) += rmi_f11.o +obj-$(CONFIG_RMI4_F30) += rmi_f30.o # Transports obj-$(CONFIG_RMI4_I2C) += rmi_i2c.o
drivers/input/rmi4/rmi_f30.c new file +399 -0
399 lines not on this page · raw message
include/linux/rmi.h +6 -1
@@ -139,9 +139,14 @@ struct rmi_button_map {u8 *map; }; +struct rmi_f30_button { +u16 button; +int sense; +}; +struct rmi_f30_gpioled_map {u8 ngpioleds; -u8 *map; +struct rmi_f30_button *map; };/**