+++ /dev/null
-From 5afe8201f82e93e444ae5810da5d51e6c2a89f89 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:13 +0530
-Subject: HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX
- fields in case of Apple Touch Bar
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit f41d736acc039d86512951f4e874b0f5e666babf ]
-
-In Apple Touch Bar, the contact ID is contained in fields with the
-HID_DG_TRANSDUCER_INDEX usage rather than HID_DG_CONTACTID, thus differing
-from the HID spec. Add a quirk for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index a85581cd511fd..35426e702b301 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -72,6 +72,7 @@ MODULE_LICENSE("GPL");
- #define MT_QUIRK_FORCE_MULTI_INPUT BIT(20)
- #define MT_QUIRK_DISABLE_WAKEUP BIT(21)
- #define MT_QUIRK_ORIENTATION_INVERT BIT(22)
-+#define MT_QUIRK_APPLE_TOUCHBAR BIT(23)
-
- #define MT_INPUTMODE_TOUCHSCREEN 0x02
- #define MT_INPUTMODE_TOUCHPAD 0x03
-@@ -612,6 +613,7 @@ static struct mt_application *mt_find_application(struct mt_device *td,
- static struct mt_report_data *mt_allocate_report_data(struct mt_device *td,
- struct hid_report *report)
- {
-+ struct mt_class *cls = &td->mtclass;
- struct mt_report_data *rdata;
- struct hid_field *field;
- int r, n;
-@@ -636,7 +638,11 @@ static struct mt_report_data *mt_allocate_report_data(struct mt_device *td,
-
- if (field->logical == HID_DG_FINGER || td->hdev->group != HID_GROUP_MULTITOUCH_WIN_8) {
- for (n = 0; n < field->report_count; n++) {
-- if (field->usage[n].hid == HID_DG_CONTACTID) {
-+ unsigned int hid = field->usage[n].hid;
-+
-+ if (hid == HID_DG_CONTACTID ||
-+ (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR &&
-+ hid == HID_DG_TRANSDUCER_INDEX)) {
- rdata->is_mt_collection = true;
- break;
- }
-@@ -814,6 +820,14 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- EV_KEY, BTN_TOUCH);
- MT_STORE_FIELD(tip_state);
- return 1;
-+ case HID_DG_TRANSDUCER_INDEX:
-+ /*
-+ * Contact ID in case of Apple Touch Bars is contained
-+ * in fields with HID_DG_TRANSDUCER_INDEX usage.
-+ */
-+ if (!(cls->quirks & MT_QUIRK_APPLE_TOUCHBAR))
-+ return 0;
-+ fallthrough;
- case HID_DG_CONTACTID:
- MT_STORE_FIELD(contactid);
- app->touches_by_report++;
---
-2.51.0
-
+++ /dev/null
-From f65f5948ad5665603d29403da0e42e876265c97b Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:16 +0530
-Subject: HID: multitouch: specify that Apple Touch Bar is direct
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit 45ca23c5ee8b2b3074377fecc92fa72aa595f7c9 ]
-
-Currently the driver determines the device type based on the
-application, but this value is not reliable on Apple Touch Bar, where
-the application is HID_DG_TOUCHPAD even though this device is direct,
-so add a quirk for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 8e9f71e69dd8c..d8fee341c096e 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -1336,6 +1336,13 @@ static int mt_touch_input_configured(struct hid_device *hdev,
- if (td->serial_maybe)
- mt_post_parse_default_settings(td, app);
-
-+ /*
-+ * The application for Apple Touch Bars is HID_DG_TOUCHPAD,
-+ * but these devices are direct.
-+ */
-+ if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR)
-+ app->mt_flags |= INPUT_MT_DIRECT;
-+
- if (cls->is_indirect)
- app->mt_flags |= INPUT_MT_POINTER;
-
---
-2.51.0
-
+++ /dev/null
-From 71e885c6131bb4ef7c6a94c64ab3ecac2e6b88c6 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:14 +0530
-Subject: HID: multitouch: support getting the tip state from HID_DG_TOUCH
- fields in Apple Touch Bar
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit e0976a61a543b5e03bc0d08030a0ea036ee3751d ]
-
-In Apple Touch Bar, the tip state is contained in fields with the
-HID_DG_TOUCH usage. This feature is gated by a quirk in order to
-prevent breaking other devices, see commit c2ef8f21ea8f
-("HID: multitouch: add support for trackpads").
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 15 +++++++++++----
- 1 file changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 35426e702b301..d0b2e866dadaf 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -814,6 +814,17 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
-
- MT_STORE_FIELD(confidence_state);
- return 1;
-+ case HID_DG_TOUCH:
-+ /*
-+ * Legacy devices use TIPSWITCH and not TOUCH.
-+ * One special case here is of the Apple Touch Bars.
-+ * In these devices, the tip state is contained in
-+ * fields with the HID_DG_TOUCH usage.
-+ * Let's just ignore this field for other devices.
-+ */
-+ if (!(cls->quirks & MT_QUIRK_APPLE_TOUCHBAR))
-+ return -1;
-+ fallthrough;
- case HID_DG_TIPSWITCH:
- if (field->application != HID_GD_SYSTEM_MULTIAXIS)
- input_set_capability(hi->input,
-@@ -884,10 +895,6 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- case HID_DG_CONTACTMAX:
- /* contact max are global to the report */
- return -1;
-- case HID_DG_TOUCH:
-- /* Legacy devices use TIPSWITCH and not TOUCH.
-- * Let's just ignore this field. */
-- return -1;
- }
- /* let hid-input decide for the others */
- return 0;
---
-2.51.0
-
+++ /dev/null
-From 22fc5906200564aa090085ab193d4808aec35152 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:15 +0530
-Subject: HID: multitouch: take cls->maxcontacts into account for Apple Touch
- Bar even without a HID_DG_CONTACTMAX field
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit 7dfe48bdc9d38db46283f2e0281bc1626277b8bf ]
-
-In Apple Touch Bar, the HID_DG_CONTACTMAX is not present, but the maximum
-contact count is still greater than the default. Add quirks for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index d0b2e866dadaf..8e9f71e69dd8c 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -1322,6 +1322,13 @@ static int mt_touch_input_configured(struct hid_device *hdev,
- struct input_dev *input = hi->input;
- int ret;
-
-+ /*
-+ * HID_DG_CONTACTMAX field is not present on Apple Touch Bars,
-+ * but the maximum contact count is greater than the default.
-+ */
-+ if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR && cls->maxcontacts)
-+ td->maxcontacts = cls->maxcontacts;
-+
- if (!td->maxcontacts)
- td->maxcontacts = MT_DEFAULT_MAXCONTACT;
-
---
-2.51.0
-
alsa-usb-audio-simplify-null-comparison-in-mixer_qui.patch
alsa-usb-audio-remove-unneeded-wmb-in-mixer_quirks.patch
alsa-usb-audio-add-mixer-quirk-for-sony-dualsense-ps.patch
-hid-multitouch-get-the-contact-id-from-hid_dg_transd.patch
-hid-multitouch-support-getting-the-tip-state-from-hi.patch
-hid-multitouch-take-cls-maxcontacts-into-account-for.patch
-hid-multitouch-specify-that-apple-touch-bar-is-direc.patch
alsa-usb-audio-convert-comma-to-semicolon.patch
alsa-usb-audio-fix-build-with-config_input-n.patch
usb-core-add-0x-prefix-to-quirks-debug-output.patch
+++ /dev/null
-From 4dd91ed501915ea23f94f24b5a0318903bbe2d7c Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:13 +0530
-Subject: HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX
- fields in case of Apple Touch Bar
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit f41d736acc039d86512951f4e874b0f5e666babf ]
-
-In Apple Touch Bar, the contact ID is contained in fields with the
-HID_DG_TRANSDUCER_INDEX usage rather than HID_DG_CONTACTID, thus differing
-from the HID spec. Add a quirk for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 5c424010bc025..be2bbce25b3df 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -72,6 +72,7 @@ MODULE_LICENSE("GPL");
- #define MT_QUIRK_FORCE_MULTI_INPUT BIT(20)
- #define MT_QUIRK_DISABLE_WAKEUP BIT(21)
- #define MT_QUIRK_ORIENTATION_INVERT BIT(22)
-+#define MT_QUIRK_APPLE_TOUCHBAR BIT(23)
-
- #define MT_INPUTMODE_TOUCHSCREEN 0x02
- #define MT_INPUTMODE_TOUCHPAD 0x03
-@@ -617,6 +618,7 @@ static struct mt_application *mt_find_application(struct mt_device *td,
- static struct mt_report_data *mt_allocate_report_data(struct mt_device *td,
- struct hid_report *report)
- {
-+ struct mt_class *cls = &td->mtclass;
- struct mt_report_data *rdata;
- struct hid_field *field;
- int r, n;
-@@ -641,7 +643,11 @@ static struct mt_report_data *mt_allocate_report_data(struct mt_device *td,
-
- if (field->logical == HID_DG_FINGER || td->hdev->group != HID_GROUP_MULTITOUCH_WIN_8) {
- for (n = 0; n < field->report_count; n++) {
-- if (field->usage[n].hid == HID_DG_CONTACTID) {
-+ unsigned int hid = field->usage[n].hid;
-+
-+ if (hid == HID_DG_CONTACTID ||
-+ (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR &&
-+ hid == HID_DG_TRANSDUCER_INDEX)) {
- rdata->is_mt_collection = true;
- break;
- }
-@@ -819,6 +825,14 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- EV_KEY, BTN_TOUCH);
- MT_STORE_FIELD(tip_state);
- return 1;
-+ case HID_DG_TRANSDUCER_INDEX:
-+ /*
-+ * Contact ID in case of Apple Touch Bars is contained
-+ * in fields with HID_DG_TRANSDUCER_INDEX usage.
-+ */
-+ if (!(cls->quirks & MT_QUIRK_APPLE_TOUCHBAR))
-+ return 0;
-+ fallthrough;
- case HID_DG_CONTACTID:
- MT_STORE_FIELD(contactid);
- app->touches_by_report++;
---
-2.51.0
-
+++ /dev/null
-From 7d95678cea9d56d1b33d42525d44321f1dad308b Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:16 +0530
-Subject: HID: multitouch: specify that Apple Touch Bar is direct
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit 45ca23c5ee8b2b3074377fecc92fa72aa595f7c9 ]
-
-Currently the driver determines the device type based on the
-application, but this value is not reliable on Apple Touch Bar, where
-the application is HID_DG_TOUCHPAD even though this device is direct,
-so add a quirk for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index ec676f26800ea..09a56adf619b7 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -1341,6 +1341,13 @@ static int mt_touch_input_configured(struct hid_device *hdev,
- if (td->serial_maybe)
- mt_post_parse_default_settings(td, app);
-
-+ /*
-+ * The application for Apple Touch Bars is HID_DG_TOUCHPAD,
-+ * but these devices are direct.
-+ */
-+ if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR)
-+ app->mt_flags |= INPUT_MT_DIRECT;
-+
- if (cls->is_indirect)
- app->mt_flags |= INPUT_MT_POINTER;
-
---
-2.51.0
-
+++ /dev/null
-From d99d0f667e7db683abddcad7b94fe59a28866299 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:14 +0530
-Subject: HID: multitouch: support getting the tip state from HID_DG_TOUCH
- fields in Apple Touch Bar
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit e0976a61a543b5e03bc0d08030a0ea036ee3751d ]
-
-In Apple Touch Bar, the tip state is contained in fields with the
-HID_DG_TOUCH usage. This feature is gated by a quirk in order to
-prevent breaking other devices, see commit c2ef8f21ea8f
-("HID: multitouch: add support for trackpads").
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 15 +++++++++++----
- 1 file changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index be2bbce25b3df..39a8c6619876b 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -819,6 +819,17 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
-
- MT_STORE_FIELD(confidence_state);
- return 1;
-+ case HID_DG_TOUCH:
-+ /*
-+ * Legacy devices use TIPSWITCH and not TOUCH.
-+ * One special case here is of the Apple Touch Bars.
-+ * In these devices, the tip state is contained in
-+ * fields with the HID_DG_TOUCH usage.
-+ * Let's just ignore this field for other devices.
-+ */
-+ if (!(cls->quirks & MT_QUIRK_APPLE_TOUCHBAR))
-+ return -1;
-+ fallthrough;
- case HID_DG_TIPSWITCH:
- if (field->application != HID_GD_SYSTEM_MULTIAXIS)
- input_set_capability(hi->input,
-@@ -889,10 +900,6 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- case HID_DG_CONTACTMAX:
- /* contact max are global to the report */
- return -1;
-- case HID_DG_TOUCH:
-- /* Legacy devices use TIPSWITCH and not TOUCH.
-- * Let's just ignore this field. */
-- return -1;
- }
- /* let hid-input decide for the others */
- return 0;
---
-2.51.0
-
+++ /dev/null
-From c820a09485b828fbd040e764a222d777b27e946d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:15 +0530
-Subject: HID: multitouch: take cls->maxcontacts into account for Apple Touch
- Bar even without a HID_DG_CONTACTMAX field
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit 7dfe48bdc9d38db46283f2e0281bc1626277b8bf ]
-
-In Apple Touch Bar, the HID_DG_CONTACTMAX is not present, but the maximum
-contact count is still greater than the default. Add quirks for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 39a8c6619876b..ec676f26800ea 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -1327,6 +1327,13 @@ static int mt_touch_input_configured(struct hid_device *hdev,
- struct input_dev *input = hi->input;
- int ret;
-
-+ /*
-+ * HID_DG_CONTACTMAX field is not present on Apple Touch Bars,
-+ * but the maximum contact count is greater than the default.
-+ */
-+ if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR && cls->maxcontacts)
-+ td->maxcontacts = cls->maxcontacts;
-+
- if (!td->maxcontacts)
- td->maxcontacts = MT_DEFAULT_MAXCONTACT;
-
---
-2.51.0
-
alsa-usb-audio-simplify-null-comparison-in-mixer_qui.patch
alsa-usb-audio-remove-unneeded-wmb-in-mixer_quirks.patch
alsa-usb-audio-add-mixer-quirk-for-sony-dualsense-ps.patch
-hid-multitouch-get-the-contact-id-from-hid_dg_transd.patch
-hid-multitouch-support-getting-the-tip-state-from-hi.patch
-hid-multitouch-take-cls-maxcontacts-into-account-for.patch
-hid-multitouch-specify-that-apple-touch-bar-is-direc.patch
alsa-usb-audio-convert-comma-to-semicolon.patch
alsa-hda-realtek-add-support-for-asus-nuc-using-cs35.patch
alsa-usb-audio-fix-build-with-config_input-n.patch
+++ /dev/null
-From efea291f3e4a120426265a362e69a2d828086c87 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:13 +0530
-Subject: HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX
- fields in case of Apple Touch Bar
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit f41d736acc039d86512951f4e874b0f5e666babf ]
-
-In Apple Touch Bar, the contact ID is contained in fields with the
-HID_DG_TRANSDUCER_INDEX usage rather than HID_DG_CONTACTID, thus differing
-from the HID spec. Add a quirk for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index a85581cd511fd..35426e702b301 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -72,6 +72,7 @@ MODULE_LICENSE("GPL");
- #define MT_QUIRK_FORCE_MULTI_INPUT BIT(20)
- #define MT_QUIRK_DISABLE_WAKEUP BIT(21)
- #define MT_QUIRK_ORIENTATION_INVERT BIT(22)
-+#define MT_QUIRK_APPLE_TOUCHBAR BIT(23)
-
- #define MT_INPUTMODE_TOUCHSCREEN 0x02
- #define MT_INPUTMODE_TOUCHPAD 0x03
-@@ -612,6 +613,7 @@ static struct mt_application *mt_find_application(struct mt_device *td,
- static struct mt_report_data *mt_allocate_report_data(struct mt_device *td,
- struct hid_report *report)
- {
-+ struct mt_class *cls = &td->mtclass;
- struct mt_report_data *rdata;
- struct hid_field *field;
- int r, n;
-@@ -636,7 +638,11 @@ static struct mt_report_data *mt_allocate_report_data(struct mt_device *td,
-
- if (field->logical == HID_DG_FINGER || td->hdev->group != HID_GROUP_MULTITOUCH_WIN_8) {
- for (n = 0; n < field->report_count; n++) {
-- if (field->usage[n].hid == HID_DG_CONTACTID) {
-+ unsigned int hid = field->usage[n].hid;
-+
-+ if (hid == HID_DG_CONTACTID ||
-+ (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR &&
-+ hid == HID_DG_TRANSDUCER_INDEX)) {
- rdata->is_mt_collection = true;
- break;
- }
-@@ -814,6 +820,14 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- EV_KEY, BTN_TOUCH);
- MT_STORE_FIELD(tip_state);
- return 1;
-+ case HID_DG_TRANSDUCER_INDEX:
-+ /*
-+ * Contact ID in case of Apple Touch Bars is contained
-+ * in fields with HID_DG_TRANSDUCER_INDEX usage.
-+ */
-+ if (!(cls->quirks & MT_QUIRK_APPLE_TOUCHBAR))
-+ return 0;
-+ fallthrough;
- case HID_DG_CONTACTID:
- MT_STORE_FIELD(contactid);
- app->touches_by_report++;
---
-2.51.0
-
+++ /dev/null
-From 8d978b8739618dd418d99968c175d5c865e0b384 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:16 +0530
-Subject: HID: multitouch: specify that Apple Touch Bar is direct
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit 45ca23c5ee8b2b3074377fecc92fa72aa595f7c9 ]
-
-Currently the driver determines the device type based on the
-application, but this value is not reliable on Apple Touch Bar, where
-the application is HID_DG_TOUCHPAD even though this device is direct,
-so add a quirk for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 8e9f71e69dd8c..d8fee341c096e 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -1336,6 +1336,13 @@ static int mt_touch_input_configured(struct hid_device *hdev,
- if (td->serial_maybe)
- mt_post_parse_default_settings(td, app);
-
-+ /*
-+ * The application for Apple Touch Bars is HID_DG_TOUCHPAD,
-+ * but these devices are direct.
-+ */
-+ if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR)
-+ app->mt_flags |= INPUT_MT_DIRECT;
-+
- if (cls->is_indirect)
- app->mt_flags |= INPUT_MT_POINTER;
-
---
-2.51.0
-
+++ /dev/null
-From 350ed4a05e4f857a5f1e8c80e499f3cce702eda1 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:14 +0530
-Subject: HID: multitouch: support getting the tip state from HID_DG_TOUCH
- fields in Apple Touch Bar
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit e0976a61a543b5e03bc0d08030a0ea036ee3751d ]
-
-In Apple Touch Bar, the tip state is contained in fields with the
-HID_DG_TOUCH usage. This feature is gated by a quirk in order to
-prevent breaking other devices, see commit c2ef8f21ea8f
-("HID: multitouch: add support for trackpads").
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 15 +++++++++++----
- 1 file changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 35426e702b301..d0b2e866dadaf 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -814,6 +814,17 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
-
- MT_STORE_FIELD(confidence_state);
- return 1;
-+ case HID_DG_TOUCH:
-+ /*
-+ * Legacy devices use TIPSWITCH and not TOUCH.
-+ * One special case here is of the Apple Touch Bars.
-+ * In these devices, the tip state is contained in
-+ * fields with the HID_DG_TOUCH usage.
-+ * Let's just ignore this field for other devices.
-+ */
-+ if (!(cls->quirks & MT_QUIRK_APPLE_TOUCHBAR))
-+ return -1;
-+ fallthrough;
- case HID_DG_TIPSWITCH:
- if (field->application != HID_GD_SYSTEM_MULTIAXIS)
- input_set_capability(hi->input,
-@@ -884,10 +895,6 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- case HID_DG_CONTACTMAX:
- /* contact max are global to the report */
- return -1;
-- case HID_DG_TOUCH:
-- /* Legacy devices use TIPSWITCH and not TOUCH.
-- * Let's just ignore this field. */
-- return -1;
- }
- /* let hid-input decide for the others */
- return 0;
---
-2.51.0
-
+++ /dev/null
-From 805659a3435f0a0793abec6d58dca903a96e287c Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 27 May 2025 22:13:15 +0530
-Subject: HID: multitouch: take cls->maxcontacts into account for Apple Touch
- Bar even without a HID_DG_CONTACTMAX field
-
-From: Kerem Karabay <kekrby@gmail.com>
-
-[ Upstream commit 7dfe48bdc9d38db46283f2e0281bc1626277b8bf ]
-
-In Apple Touch Bar, the HID_DG_CONTACTMAX is not present, but the maximum
-contact count is still greater than the default. Add quirks for the same.
-
-Acked-by: Benjamin Tissoires <bentiss@kernel.org>
-Signed-off-by: Kerem Karabay <kekrby@gmail.com>
-Co-developed-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Aditya Garg <gargaditya08@live.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/hid/hid-multitouch.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index d0b2e866dadaf..8e9f71e69dd8c 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -1322,6 +1322,13 @@ static int mt_touch_input_configured(struct hid_device *hdev,
- struct input_dev *input = hi->input;
- int ret;
-
-+ /*
-+ * HID_DG_CONTACTMAX field is not present on Apple Touch Bars,
-+ * but the maximum contact count is greater than the default.
-+ */
-+ if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR && cls->maxcontacts)
-+ td->maxcontacts = cls->maxcontacts;
-+
- if (!td->maxcontacts)
- td->maxcontacts = MT_DEFAULT_MAXCONTACT;
-
---
-2.51.0
-
alsa-usb-audio-simplify-null-comparison-in-mixer_qui.patch
alsa-usb-audio-remove-unneeded-wmb-in-mixer_quirks.patch
alsa-usb-audio-add-mixer-quirk-for-sony-dualsense-ps.patch
-hid-multitouch-get-the-contact-id-from-hid_dg_transd.patch
-hid-multitouch-support-getting-the-tip-state-from-hi.patch
-hid-multitouch-take-cls-maxcontacts-into-account-for.patch
-hid-multitouch-specify-that-apple-touch-bar-is-direc.patch
alsa-usb-audio-convert-comma-to-semicolon.patch
alsa-usb-audio-fix-build-with-config_input-n.patch
usb-core-add-0x-prefix-to-quirks-debug-output.patch