[PATCH v3 0/5] USB Type-C alternate mode priorities

Andrei Kuchynski
2025-09-05T14:22:14Z

This patch series introduces a mechanism for setting USB Type-C alternate
mode priorities. It allows the user to specify their preferred order for
mode selection, such as USB4, Thunderbolt, or DisplayPort.

A new sysfs attribute named 'priority' is exposed to provide user-space
control over the mode selection process.

This series was tested on a Android OS device running kernel 6.16.

Changes in v3:
- minor changes related to code style and documentation

Andrei Kuchynski (5):
usb: typec: Add mode_control field to port property
platform/chrome: cros_ec_typec: Set no_mode_control flag
usb: typec: ucsi: Set no_mode_control flag
usb: typec: Implement alternate mode priority handling
usb: typec: Expose alternate mode priority via sysfs

Documentation/ABI/testing/sysfs-class-typec | 11 ++++++
drivers/platform/chrome/cros_ec_typec.c | 1 +
drivers/usb/typec/Makefile | 2 +-
drivers/usb/typec/class.c | 41 +++++++++++++++++++--
drivers/usb/typec/class.h | 2 +
drivers/usb/typec/mode_selection.c | 38 +++++++++++++++++++
drivers/usb/typec/mode_selection.h | 6 +++
drivers/usb/typec/ucsi/ucsi.c | 1 +
include/linux/usb/typec.h | 2 +
include/linux/usb/typec_altmode.h | 1 +
10 files changed, 100 insertions(+), 5 deletions(-)
create mode 100644 drivers/usb/typec/mode_selection.c
create mode 100644 drivers/usb/typec/mode_selection.h

--
2.51.0.355.g5224444f11-goog