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>
This commit is contained in:
Andrew Duggan 2016-03-10 15:56:58 -08:00 committed by Dmitry Torokhov
parent b43d2c1e93
commit 562b42d3ee
6 changed files with 437 additions and 0 deletions

View file

@ -101,6 +101,21 @@ struct rmi_2d_sensor_platform_data {
int dmax;
};
/**
* 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;
};
/**