aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/rmi4/rmi_driver.h
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2017-02-08 00:26:45 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-02-09 13:01:34 -0800
commit81dec809aa728798c3ebff18c3d2d678237273aa (patch)
treea60e4a786645739776741b2f2b6b37082e1edee4 /drivers/input/rmi4/rmi_driver.h
parentInput: synaptics-rmi4 - clean up F30 implementation (diff)
downloadlinux-dev-81dec809aa728798c3ebff18c3d2d678237273aa.tar.xz
linux-dev-81dec809aa728798c3ebff18c3d2d678237273aa.zip
Input: synaptics-rmi4 - forward upper mechanical buttons to PS/2 guest
On the latest series of ThinkPads, the button events for the TrackPoint are reported through the touchpad itself as opposed to the TrackPoint device. In order to report these buttons properly, we need to forward them to the TrackPoint device and notify psmouse to send the button presses/releases. Signed-off-by: Lyude Paul <thatslyude@gmail.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/rmi4/rmi_driver.h')
-rw-r--r--drivers/input/rmi4/rmi_driver.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/input/rmi4/rmi_driver.h b/drivers/input/rmi4/rmi_driver.h
index 6e0449cdca68..f1a2a2266022 100644
--- a/drivers/input/rmi4/rmi_driver.h
+++ b/drivers/input/rmi4/rmi_driver.h
@@ -107,6 +107,19 @@ int rmi_initial_reset(struct rmi_device *rmi_dev, void *ctx,
const char *rmi_f01_get_product_ID(struct rmi_function *fn);
+#ifdef CONFIG_RMI4_F03
+int rmi_f03_overwrite_button(struct rmi_function *fn, unsigned int button,
+ int value);
+void rmi_f03_commit_buttons(struct rmi_function *fn);
+#else
+static inline int rmi_f03_overwrite_button(struct rmi_function *fn,
+ unsigned int button, int value)
+{
+ return 0;
+}
+static inline void rmi_f03_commit_buttons(struct rmi_function *fn) {}
+#endif
+
#ifdef CONFIG_RMI4_F34
int rmi_f34_create_sysfs(struct rmi_device *rmi_dev);
void rmi_f34_remove_sysfs(struct rmi_device *rmi_dev);