diff options
author | Andrew Duggan <aduggan@synaptics.com> | 2016-03-10 15:56:58 -0800 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-03-10 16:04:23 -0800 |
commit | 562b42d3ee305472e1b2ea31574c59925e95fd7e (patch) | |
tree | 1555790b31bb76bc3b3347f4cccb8ef74053a664 /include/linux/rmi.h | |
parent | b43d2c1e9353814ce1716fff03d9223f40fa73b5 (diff) | |
download | lwn-562b42d3ee305472e1b2ea31574c59925e95fd7e.tar.gz lwn-562b42d3ee305472e1b2ea31574c59925e95fd7e.zip |
Input: synaptics-rmi4 - add support for F30
RMI4 F30 supports input from clickpad buttons and controls LEDs located
on the touchpad PCB. This patch adds support of the clickpad buttons and
defers supporting LEDs for the future.
Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Tested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'include/linux/rmi.h')
-rw-r--r-- | include/linux/rmi.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/rmi.h b/include/linux/rmi.h index b527064bac47..ac89d1e731dc 100644 --- a/include/linux/rmi.h +++ b/include/linux/rmi.h @@ -102,6 +102,21 @@ struct rmi_2d_sensor_platform_data { }; /** + * struct rmi_f30_data - overrides defaults for a single F30 GPIOs/LED chip. + * @buttonpad - the touchpad is a buttonpad, so enable only the first actual + * button that is found. + * @trackstick_buttons - Set when the function 30 is handling the physical + * buttons of the trackstick (as a PD/2 passthrough device. + * @disable - the touchpad incorrectly reports F30 and it should be ignored. + * This is a special case which is due to misconfigured firmware. + */ +struct rmi_f30_data { + bool buttonpad; + bool trackstick_buttons; + bool disable; +}; + +/** * struct rmi_f01_power - override default power management settings. * */ @@ -147,6 +162,7 @@ struct rmi_device_platform_data { /* function handler pdata */ struct rmi_2d_sensor_platform_data *sensor_pdata; struct rmi_f01_power_management power_management; + struct rmi_f30_data *f30_data; }; /** |