summaryrefslogtreecommitdiff
path: root/include/linux/rmi.h
diff options
context:
space:
mode:
authorAndrew Duggan <aduggan@synaptics.com>2016-03-10 15:56:58 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2016-03-10 16:04:23 -0800
commit562b42d3ee305472e1b2ea31574c59925e95fd7e (patch)
tree1555790b31bb76bc3b3347f4cccb8ef74053a664 /include/linux/rmi.h
parentb43d2c1e9353814ce1716fff03d9223f40fa73b5 (diff)
downloadlwn-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.h16
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;
};
/**