diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2017-02-08 00:26:45 -0800 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2017-02-09 13:01:34 -0800 |
commit | 81dec809aa728798c3ebff18c3d2d678237273aa (patch) | |
tree | a60e4a786645739776741b2f2b6b37082e1edee4 /drivers/input/rmi4/rmi_driver.h | |
parent | bf3e8502eefdbb7ac1b8163e5c3acdcb505ae745 (diff) | |
download | talos-obmc-linux-81dec809aa728798c3ebff18c3d2d678237273aa.tar.gz talos-obmc-linux-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.h | 13 |
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); |