[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250825145750.58820-1-akuchynski@chromium.org>
Date: Mon, 25 Aug 2025 14:57:45 +0000
From: Andrei Kuchynski <akuchynski@...omium.org>
To: Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Abhishek Pandit-Subedi <abhishekpandit@...omium.org>,
Benson Leung <bleung@...omium.org>,
Jameson Thies <jthies@...gle.com>,
Tzung-Bi Shih <tzungbi@...nel.org>,
linux-usb@...r.kernel.org,
chrome-platform@...ts.linux.dev
Cc: Guenter Roeck <groeck@...omium.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>,
"Christian A. Ehrhardt" <lk@...e.de>,
Venkat Jayaraman <venkat.jayaraman@...el.com>,
linux-kernel@...r.kernel.org,
Andrei Kuchynski <akuchynski@...omium.org>
Subject: [PATCH v2 0/5] USB Type-C alternate mode priorities
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 v2:
- The priority variable is now a member of the typec_altmode struct
- typec_altmode2port is used to obtain the typec_port struct pointer
- Default priorities are now set based on the order of registration
- The mode_control capability is enabled by default
- The mode_selection_state struct will be introduced in a separate series
- svid will be used instead of the typec_mode_type enum
Andrei Kuchynski (5):
usb: typec: Add alt_mode_override field to port property
platform/chrome: cros_ec_typec: Set alt_mode_override flag
usb: typec: ucsi: Set alt_mode_override 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 | 2 +
include/linux/usb/typec.h | 1 +
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.rc2.233.g662b1ed5c5-goog
Powered by blists - more mailing lists