[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BDCA0457-7A04-4705-892F-CC8DF493DBC7@live.com>
Date: Tue, 6 Aug 2024 13:51:30 +0000
From: Aditya Garg <gargaditya08@...e.com>
To: Aditya Garg <gargaditya08@...e.com>
CC: "tzimmermann@...e.de" <tzimmermann@...e.de>,
"maarten.lankhorst@...ux.intel.com" <maarten.lankhorst@...ux.intel.com>,
"mripard@...nel.org" <mripard@...nel.org>, "airlied@...il.com"
<airlied@...il.com>, "daniel@...ll.ch" <daniel@...ll.ch>, Jiri Kosina
<jikos@...nel.org>, "bentiss@...nel.org" <bentiss@...nel.org>, Kerem Karabay
<kekrby@...il.com>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-input@...r.kernel.org" <linux-input@...r.kernel.org>, Orlando
Chamberlain <orlandoch.dev@...il.com>
Subject: [PATCH 5/9] HID: multitouch: take cls->maxcontacts into account for
devices without a HID_DG_CONTACTMAX field too
From: Kerem Karabay <kekrby@...il.com>
This is needed for Apple Touch Bars, where no HID_DG_CONTACTMAX field is
present and the maximum contact count is greater than the default.
Signed-off-by: Kerem Karabay <kekrby@...il.com>
Signed-off-by: Aditya Garg <gargaditya08@...e.com>
---
drivers/hid/hid-multitouch.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 571435da5..60b675cd1 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -490,9 +490,6 @@ static void mt_feature_mapping(struct hid_device *hdev,
if (!td->maxcontacts &&
field->logical_maximum <= MT_MAX_MAXCONTACT)
td->maxcontacts = field->logical_maximum;
- if (td->mtclass.maxcontacts)
- /* check if the maxcontacts is given by the class */
- td->maxcontacts = td->mtclass.maxcontacts;
break;
case HID_DG_BUTTONTYPE:
@@ -1309,6 +1306,10 @@ static int mt_touch_input_configured(struct hid_device *hdev,
struct input_dev *input = hi->input;
int ret;
+ /* check if the maxcontacts is given by the class */
+ if (cls->maxcontacts)
+ td->maxcontacts = cls->maxcontacts;
+
if (!td->maxcontacts)
td->maxcontacts = MT_DEFAULT_MAXCONTACT;
--
2.43.0
Powered by blists - more mailing lists