Thread (1 message) 1 message, 1 author, 2026-02-14

[PATCH AUTOSEL 6.19-5.10] HID: multitouch: add eGalaxTouch EXC3188 support

STALE228d

From: Sasha Levin <sashal@kernel.org>
Date: 2026-02-14 01:02:58
Also in: linux-patches, stable
Subsystem: hid core layer, the rest · Maintainers: Jiri Kosina, Benjamin Tissoires, Linus Torvalds

From: Thorsten Schmelzer <redacted>

[ Upstream commit 8e4ac86b2ddd36fe501e20ecfcc080e536df1f48 ]

Add support for the for the EXC3188 touchscreen from eGalaxy.

Signed-off-by: Thorsten Schmelzer <redacted>
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Jiri Kosina <redacted>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

## Analysis

### Commit Message Analysis

The commit adds support for the eGalaxTouch EXC3188 touchscreen device
by adding a new USB device ID (0xC000) to the existing HID multitouch
driver. The commit message is straightforward: "Add support for the
EXC3188 touchscreen from eGalaxy."

### Code Change Analysis

The changes are minimal and confined to two files:

1. **`drivers/hid/hid-ids.h`**: Adds a single `#define` for the new
   device ID:
  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C000  0xc000
2. **`drivers/hid/hid-multitouch.c`**: Adds a 3-line entry to the
   `mt_devices[]` device ID table:
  { .driver_data = MT_CLS_EGALAX_SERIAL,
  MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
  USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C000) },
The new device uses `MT_CLS_EGALAX_SERIAL`, which is an existing device
class already used by several other eGalax devices (A001, 73F7, 7349).
No new code paths, no new driver logic, no behavioral changes.

### Classification: New Device ID Addition

This falls squarely into the **"New Device IDs"** exception category for
stable backports:
- The driver (`hid-multitouch`) already exists in stable trees
- Only the device ID is new
- It uses an existing device class (`MT_CLS_EGALAX_SERIAL`)
- The pattern is identical to many other eGalax entries already in the
  table

### Risk Assessment

- **Risk: Extremely low** — This is a pure device ID addition to an
  existing table. It cannot affect any existing device. The new entry
  only matches the specific USB vendor/product ID pair (0x0aec/0xc000).
- **Scope: Minimal** — 4 lines added across 2 files (1 define + 3 lines
  in device table)
- **Dependencies: None** — Completely self-contained, no other commits
  needed

### User Impact

Without this patch, users with the eGalaxTouch EXC3188 touchscreen have
a non-functional device. With this patch, the touchscreen works using
the existing, well-tested eGalax serial multitouch driver class. This is
exactly the kind of hardware enablement that stable users need — their
hardware simply doesn't work without it.

### Stability Indicators

- Uses existing driver infrastructure (no new code paths)
- Follows the exact same pattern as ~20 other eGalax device entries
- Signed off by the HID subsystem maintainer (Jiri Kosina)
- Has been reviewed and accepted through the normal HID subsystem
  process

### Conclusion

This is a textbook example of a device ID addition that should be
backported to stable. It enables real hardware for real users, has zero
risk of regression, requires no dependencies, and follows established
patterns in the driver. These types of commits are explicitly called out
in stable kernel rules as appropriate for backporting.

**YES**

 drivers/hid/hid-ids.h        | 1 +
 drivers/hid/hid-multitouch.c | 3 +++
 2 files changed, 4 insertions(+)
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 5a18cb41e6d79..6d8b64872cefe 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -437,6 +437,7 @@
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7349	0x7349
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_73F7	0x73f7
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001	0xa001
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C000	0xc000
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C002	0xc002
 
 #define USB_VENDOR_ID_EDIFIER		0x2d99
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index f21850f7d89e4..7daa8f6d81870 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -2212,6 +2212,9 @@ static const struct hid_device_id mt_devices[] = {
 	{ .driver_data = MT_CLS_EGALAX_SERIAL,
 		MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
+	{ .driver_data = MT_CLS_EGALAX_SERIAL,
+		MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C000) },
 	{ .driver_data = MT_CLS_EGALAX,
 		MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C002) },
-- 
2.51.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help