[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250923022445.3276026-1-zhangheng@kylinos.cn>
Date: Tue, 23 Sep 2025 10:24:45 +0800
From: Zhang Heng <zhangheng@...inos.cn>
To: jikos@...nel.org,
bentiss@...nel.org,
staffan.melin@...illator.se
Cc: linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org,
Zhang Heng <zhangheng@...inos.cn>
Subject: [PATCH v2] HID: quirks: Add device descriptor for 4c4a:4155
Multiple USB devices have the same ID;
add device descriptors to distinguish them.
Fixes: 1a8953f4f774 ("HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY")
Tested-by: staffan.melin@...illator.se
Signed-off-by: Zhang Heng <zhangheng@...inos.cn>
---
drivers/hid/hid-quirks.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index ffd034566e2e..d28b180abd72 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -913,7 +913,6 @@ static const struct hid_device_id hid_ignore_list[] = {
#endif
{ HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) },
{ HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) },
- { HID_USB_DEVICE(USB_VENDOR_ID_SMARTLINKTECHNOLOGY, USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155) },
{ }
};
@@ -1062,6 +1061,17 @@ bool hid_ignore(struct hid_device *hdev)
strlen(elan_acpi_id[i].id)))
return true;
break;
+ case USB_VENDOR_ID_SMARTLINKTECHNOLOGY:
+ /* Multiple USB devices with identical IDs (mic & touchscreen).
+ * The touch screen requires hid core processing, but the
+ * microphone does not. They can be distinguished by manufacturer
+ * and serial number.
+ */
+ if (hdev->product == USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155 &&
+ strncmp(hdev->name, "SmartlinkTechnology", 19) == 0 &&
+ strncmp(hdev->uniq, "20201111000001", 14) == 0)
+ return true;
+ break;
}
if (hdev->type == HID_TYPE_USBMOUSE &&
--
2.47.1
Powered by blists - more mailing lists