From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Andrew Duggan <aduggan@synaptics.com>,
Christopher Heiny <cheiny@synaptics.com>,
Allie Xiong <axiong@synaptics.com>
Cc: Stephen Chandler Paul <cpaul@redhat.com>,
benjamin.tissoires@gmail.com, linux-input@vger.kernel.org,
linux-kernel@vger.kernel.org,
Benjamin Tissoires <benjamin.tissoires@redhat.com>
Subject: [PATCH 10/11] Input: synaptics-rmi4 - f11: allow the top software button property to be set
Date: Tue, 23 Jun 2015 15:17:29 -0400 [thread overview]
Message-ID: <1435087050-11444-11-git-send-email-benjamin.tissoires@redhat.com> (raw)
In-Reply-To: <1435087050-11444-1-git-send-email-benjamin.tissoires@redhat.com>
Currently, in PS/2 we only have the PNPIds list to detect the property.
Unfortunately, it looks like the information is not embeded in the RMI4
protocol either, so allow the Top software buttons property to be set
in the platform data.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
---
drivers/input/rmi4/rmi_f11.c | 5 +++++
include/linux/rmi.h | 3 +++
2 files changed, 8 insertions(+)
diff --git a/drivers/input/rmi4/rmi_f11.c b/drivers/input/rmi4/rmi_f11.c
index 77a18aa..50df7a1 100644
--- a/drivers/input/rmi4/rmi_f11.c
+++ b/drivers/input/rmi4/rmi_f11.c
@@ -515,6 +515,7 @@ struct f11_2d_sensor {
int pkt_size;
u8 sensor_index;
u32 type_a; /* boolean but debugfs API requires u32 */
+ bool topbuttonpad;
enum rmi_f11_sensor_type sensor_type;
struct input_dev *input;
bool unified_input;
@@ -1285,6 +1286,7 @@ static int rmi_f11_initialize(struct rmi_function *fn)
sensor->axis_align =
pdata->f11_sensor_data->axis_align;
sensor->type_a = pdata->f11_sensor_data->type_a;
+ sensor->topbuttonpad = pdata->f11_sensor_data->topbuttonpad;
if (sensor->sens_query.has_physical_props) {
sensor->x_mm = sensor->sens_query.x_sensor_size_mm;
@@ -1409,6 +1411,9 @@ static int rmi_f11_register_devices(struct rmi_function *fn)
if (sensor->report_abs)
f11_set_abs_params(fn, f11);
+ if (sensor->topbuttonpad)
+ set_bit(INPUT_PROP_TOPBUTTONPAD, input_dev->propbit);
+
if (sensor->report_rel) {
set_bit(EV_REL, input_dev->evbit);
set_bit(REL_X, input_dev->relbit);
diff --git a/include/linux/rmi.h b/include/linux/rmi.h
index b771f41..4ffe9fe 100644
--- a/include/linux/rmi.h
+++ b/include/linux/rmi.h
@@ -93,6 +93,8 @@ enum rmi_f11_sensor_type {
* available.
* @disable_report_mask - Force data to not be reported even if it is supported
* by the firware.
+ * @topbuttonpad - Used with the "5 buttons touchpads" found on the Lenovo 40
+ * series
*/
struct rmi_f11_sensor_data {
struct rmi_f11_2d_axis_alignment axis_align;
@@ -101,6 +103,7 @@ struct rmi_f11_sensor_data {
int x_mm;
int y_mm;
int disable_report_mask;
+ bool topbuttonpad;
};
/**
--
2.4.3
next prev parent reply other threads:[~2015-06-23 19:17 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-23 19:17 [PATCH 00/11] Input: synaptics-rmi4: various fixes for the existing rmi4 branch Benjamin Tissoires
2015-06-23 19:17 ` [PATCH 01/11] Input: synaptics-rmi4 - embed the function modules in rmi_core Benjamin Tissoires
2015-06-24 9:51 ` Paul Bolle
2015-06-24 14:10 ` Benjamin Tissoires
2015-07-02 17:49 ` Andrew Duggan
2015-06-23 19:17 ` [PATCH 02/11] Input: synaptics-rmi4 - add a common input device in rmi_driver Benjamin Tissoires
2015-07-02 17:49 ` Andrew Duggan
2015-06-23 19:17 ` [PATCH 03/11] Input: synaptics-rmi4 - explicitly request polling when needed Benjamin Tissoires
2015-07-02 17:50 ` Andrew Duggan
2015-06-23 19:17 ` [PATCH 04/11] Input: synaptics-rmi4 - prevent oopses when irq arrives while the device is not bound Benjamin Tissoires
2015-07-02 17:50 ` Andrew Duggan
2015-06-23 19:17 ` [PATCH 05/11] Input: synaptics-rmi4 - call rmi_driver_process_config_requests in enable_sensor Benjamin Tissoires
2015-07-02 17:50 ` Andrew Duggan
2015-06-23 19:17 ` [PATCH 06/11] Input: synaptics-rmi4 - add a reset callback Benjamin Tissoires
2015-06-23 19:17 ` [PATCH 07/11] Input: synaptics-rmi4 - f11: fix bitmap irq check Benjamin Tissoires
2015-07-02 17:50 ` Andrew Duggan
2015-06-23 19:17 ` [PATCH 08/11] Input: synaptics-rmi4 - f11: use the unified input node if available Benjamin Tissoires
2015-07-02 17:50 ` Andrew Duggan
2015-06-23 19:17 ` [PATCH 09/11] Input: synaptics-rmi4 - f11: clean up rmi_f11_finger_handler Benjamin Tissoires
2015-07-02 17:51 ` Andrew Duggan
2015-06-23 19:17 ` Benjamin Tissoires [this message]
2015-07-02 17:51 ` [PATCH 10/11] Input: synaptics-rmi4 - f11: allow the top software button property to be set Andrew Duggan
2015-06-23 19:17 ` [PATCH 11/11] Input: synaptics-rmi4 - f11: add support for kernel tracking Benjamin Tissoires
2015-07-02 17:51 ` Andrew Duggan
2015-07-23 17:10 ` [PATCH 00/11] Input: synaptics-rmi4: various fixes for the existing rmi4 branch Benjamin Tissoires
2015-10-31 20:41 ` Linus Walleij
2015-11-02 22:14 ` Andrew Duggan
2015-11-03 10:29 ` Linus Walleij
2015-11-03 14:01 ` Linus Walleij
2015-11-04 0:38 ` Andrew Duggan
2015-11-04 8:28 ` Benjamin Tissoires
2015-11-04 13:55 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1435087050-11444-11-git-send-email-benjamin.tissoires@redhat.com \
--to=benjamin.tissoires@redhat.com \
--cc=aduggan@synaptics.com \
--cc=axiong@synaptics.com \
--cc=benjamin.tissoires@gmail.com \
--cc=cheiny@synaptics.com \
--cc=cpaul@redhat.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).