linux/drivers/usb
Andrei Kuchynski fb2abc7546 usb: typec: Implement mode selection
The mode selection process is controlled by the following API functions,
which allow to initiate and complete mode entry based on the priority of
each mode:

`typec_mode_selection_start` function compiles a priority list of supported
Alternate Modes.
`typec_altmode_state_update` function is invoked by the port driver to
communicate the current mode of the Type-C connector.
`typec_mode_selection_delete` function stops the currently running mode
selection process and releases all associated system resources.

`mode_selection_work_fn` task attempts to activate modes. The process stops
on success; otherwise, it proceeds to the next mode after a timeout or
error.

Signed-off-by: Andrei Kuchynski <akuchynski@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://patch.msgid.link/20260119131824.2529334-5-akuchynski@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-23 17:18:01 +01:00
..
atm usb: atm: cxacru: Merge cxacru_upload_firmware() into cxacru_heavy_init() 2025-07-24 11:33:31 +02:00
c67x00 usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
cdns3 USB/Thunderbolt changes for 6.19-rc1 2025-12-06 18:42:12 -08:00
chipidea usb: chipidea: udc: fix DMA and SG cleanup in _ep_nuke() 2026-01-14 16:00:12 +01:00
class uapi: cdc.h: cleanly provide for more interfaces and countries 2025-11-21 15:12:12 +01:00
common usb: common: usb-conn-gpio: use a unique name for usb connector device 2025-04-11 16:08:34 +02:00
core Merge 6.19-rc6 usb-next 2026-01-19 10:24:11 +01:00
dwc2 usb: dwc2: fix hang during suspend if set as peripheral 2025-11-21 15:10:38 +01:00
dwc3 usb: dwc3: google: Remove redundant dev_err() 2026-01-23 17:16:05 +01:00
early usb: early: xhci-dbc: Fix early_ioremap leak 2025-07-07 11:04:46 +02:00
fotg210 USB: HCD: remove logic about which hcd is loaded 2026-01-14 15:59:00 +01:00
gadget usb: bdc: fix sleep during atomic 2026-01-23 17:16:31 +01:00
host xhci: dbc: allow setting manufacturer string through sysfs 2026-01-23 17:16:24 +01:00
image scsi: Rename .slave_alloc() and .slave_destroy() 2024-12-04 15:34:28 -05:00
isp1760 treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
misc usb: misc: onboard_dev: Add WCH CH334 USB2.0 Hub (1a86:8091) 2026-01-16 13:48:10 +01:00
mon usb: mon: Increase BUFF_MAX to 64 MiB to support multi-MB URBs 2025-09-17 12:40:05 +02:00
mtu3 usb: Remove redundant pm_runtime_mark_last_busy() calls 2025-11-21 15:11:53 +01:00
musb usb: Remove redundant pm_runtime_mark_last_busy() calls 2025-11-21 15:11:53 +01:00
phy usb: phy: generic: Convert to device property API 2026-01-23 17:16:54 +01:00
renesas_usbhs usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc() 2025-12-17 14:51:54 +01:00
roles usb: roles: set switch registered flag early on 2025-02-14 09:26:25 +01:00
serial USB: serial: f81232: fix incomplete serial port generation 2026-01-13 15:59:07 +01:00
storage usb: usb-storage: Maintain minimal modifications to the bcdDevice range. 2025-12-23 15:41:31 +01:00
typec usb: typec: Implement mode selection 2026-01-23 17:18:01 +01:00
usbip usbip: Reduce CONNRESET message noise in dmesg from stub 2026-01-23 17:16:46 +01:00
Kconfig usb: pci-quirks: handle HAS_IOPORT dependency for AMD quirk 2023-10-02 16:19:12 +02:00
Makefile usb: isp1362-hcd: remove Philips ISP1362 USB OTG controller driver 2026-01-07 16:13:19 +01:00
usb-skeleton.c