diff options
author | Ole André Vadla Ravnås <oleavr@frida.re> | 2024-06-07 09:40:17 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-06-13 03:57:03 +0200 |
commit | 3ec8d7572a69d142d49f52b28ce8d84e5fef9131 (patch) | |
tree | 86c312d23650ca125dd2b7925127a9f9fa7c324c /drivers/input/touchscreen/silead.c | |
parent | Merge branch 'net-flower-validate-encapsulation-control-flags' (diff) | |
download | linux-3ec8d7572a69d142d49f52b28ce8d84e5fef9131.tar.xz linux-3ec8d7572a69d142d49f52b28ce8d84e5fef9131.zip |
CDC-NCM: add support for Apple's private interface
Available on iOS/iPadOS >= 17, where this new interface is used by
developer tools using the new RemoteXPC protocol.
This private interface lacks a status endpoint, presumably because there
isn't a physical cable that can be unplugged, nor any speed changes to
be notified about.
Note that NCM interfaces are not exposed until a mode switch is
requested, which macOS does automatically.
The mode switch can be performed like this:
uint8_t status;
libusb_control_transfer(device_handle,
LIBUSB_RECIPIENT_DEVICE | LIBUSB_REQUEST_TYPE_VENDOR |
LIBUSB_ENDPOINT_IN,
82, /* bRequest */
0, /* wValue */
3, /* wIndex */
&status,
sizeof(status),
0);
Newer versions of usbmuxd do this automatically.
Co-developed-by: Håvard Sørbø <havard@hsorbo.no>
Signed-off-by: Håvard Sørbø <havard@hsorbo.no>
Signed-off-by: Ole André Vadla Ravnås <oleavr@frida.re>
Link: https://lore.kernel.org/r/20240607074117.31322-1-oleavr@frida.re
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/input/touchscreen/silead.c')
0 files changed, 0 insertions, 0 deletions