Re: [PATCH 6.12 175/265] HID: multitouch: add device ID for Apple Touch Bar

Aditya Garg
2026-03-13T00:27:20Z

This patch is not needed to be applied to 6.12 as necessary drivers for the touchbar to work are starting from 6.15.

> On 13 Mar 2026, at 1:53 AM, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
>
> ﻿6.12-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Kerem Karabay <kekrby@gmail.com>
>
> [ Upstream commit 2c31ec923c323229566d799267000f8123af4449 ]
>
> This patch adds the device ID of Apple Touch Bar found on x86 MacBook Pros
> to the hid-multitouch driver.
>
> Note that this is device ID is for T2 Macs. Testing on T1 Macs would be
> appreciated.
>
> 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>
> Stable-dep-of: a2e70a89fa58 ("HID: multitouch: new class MT_CLS_EGALAX_P80H84")
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
> drivers/hid/Kconfig | 1 +
> drivers/hid/hid-multitouch.c | 17 +++++++++++++++++
> 2 files changed, 18 insertions(+)
>
> diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
> index f283f271d87e7..586de50a26267 100644
> --- a/drivers/hid/Kconfig
> +++ b/drivers/hid/Kconfig
> @@ -730,6 +730,7 @@ config HID_MULTITOUCH
> Say Y here if you have one of the following devices:
> - 3M PCT touch screens
> - ActionStar dual touch panels
> + - Apple Touch Bar on x86 MacBook Pros
> - Atmel panels
> - Cando dual touch panels
> - Chunghwa panels
> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index b7c2640a61b4a..5aed9e320d306 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -216,6 +216,7 @@ static void mt_post_parse(struct mt_device *td, struct mt_application *app);
> #define MT_CLS_GOOGLE 0x0111
> #define MT_CLS_RAZER_BLADE_STEALTH 0x0112
> #define MT_CLS_SMART_TECH 0x0113
> +#define MT_CLS_APPLE_TOUCHBAR 0x0114
> #define MT_CLS_SIS 0x0457
>
> #define MT_DEFAULT_MAXCONTACT 10
> @@ -402,6 +403,12 @@ static const struct mt_class mt_classes[] = {
> MT_QUIRK_CONTACT_CNT_ACCURATE |
> MT_QUIRK_SEPARATE_APP_REPORT,
> },
> + { .name = MT_CLS_APPLE_TOUCHBAR,
> + .quirks = MT_QUIRK_HOVERING |
> + MT_QUIRK_SLOT_IS_CONTACTID_MINUS_ONE |
> + MT_QUIRK_APPLE_TOUCHBAR,
> + .maxcontacts = 11,
> + },
> { .name = MT_CLS_SIS,
> .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
> MT_QUIRK_ALWAYS_VALID |
> @@ -1842,6 +1849,11 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
> if (ret != 0)
> return ret;
>
> + if (mtclass->name == MT_CLS_APPLE_TOUCHBAR &&
> + !hid_find_field(hdev, HID_INPUT_REPORT,
> + HID_DG_TOUCHPAD, HID_DG_TRANSDUCER_INDEX))
> + return -ENODEV;
> +
> if (mtclass->quirks & MT_QUIRK_FIX_CONST_CONTACT_ID)
> mt_fix_const_fields(hdev, HID_DG_CONTACTID);
>
> @@ -2332,6 +2344,11 @@ static const struct hid_device_id mt_devices[] = {
> MT_USB_DEVICE(USB_VENDOR_ID_XIROKU,
> USB_DEVICE_ID_XIROKU_CSR2) },
>
> + /* Apple Touch Bar */
> + { .driver_data = MT_CLS_APPLE_TOUCHBAR,
> + HID_USB_DEVICE(USB_VENDOR_ID_APPLE,
> + USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY) },
> +
> /* Google MT devices */
> { .driver_data = MT_CLS_GOOGLE,
> HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_GOOGLE,
> --
> 2.51.0
>
>
>