mirror-linux/include/linux/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
..
audio-v2.h
audio-v3.h
audio.h
c67x00.h
ccid.h
cdc-wdm.h
cdc.h
cdc_ncm.h net: usb: cdc-ncm: check for filtering capability 2025-07-21 16:59:26 -07:00
ch9.h
chipidea.h usb: chipidea: ci_hdrc_imx: Set out of band wakeup for i.MX95 2025-11-19 18:06:49 +01:00
composite.h usb: gadget: Remove unused usb_remove_config 2025-06-19 12:26:48 +02:00
ehci-dbgp.h
ehci_def.h
ehci_pdriver.h
ezusb.h
func_utils.h
functionfs.h
g_hid.h
gadget.h usb: gadget: udc: fix use-after-free in usb_gadget_state_work 2025-10-28 15:46:02 +01:00
gadget_configfs.h usb: gadget: Constify struct configfs_item_operations and configfs_group_operations 2025-12-23 15:31:01 +01:00
hcd.h USB: HCD: remove logic about which hcd is loaded 2026-01-14 15:59:00 +01:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
ljca.h
m66592.h
mctp-usb.h
midi-v2.h
musb-ux500.h
musb.h
net2280.h
of.h
ohci_pdriver.h
onboard_dev.h
otg-fsm.h
otg.h
pd.h tcpm: Parse and log AVS APDO 2025-10-22 10:58:31 +02:00
pd_ado.h
pd_bdo.h
pd_ext_sdb.h
pd_vdo.h
phy.h
phy_companion.h
quirks.h usb: core: add USB_QUIRK_NO_BOS for devices that hang on BOS descriptor 2026-01-07 17:07:00 +01:00
r8a66597.h
r8152.h
renesas_usbhs.h
rndis_host.h
role.h
rzv2m_usb3drd.h
serial.h
sl811.h
storage.h
tcpci.h
tcpm.h
tegra_usb_phy.h usb: phy: tegra: Remove unused functions 2025-06-19 12:26:32 +02:00
typec.h usb: typec: Add mode_control field to port property 2026-01-23 17:18:01 +01:00
typec_altmode.h usb: typec: Implement mode selection 2026-01-23 17:18:01 +01:00
typec_dp.h usb: typec: altmodes/displayport: do not index invalid pin_assignments 2025-06-24 15:42:55 +01:00
typec_mux.h usb: typec: Stub out typec_switch APIs when CONFIG_TYPEC=n 2025-09-17 12:42:30 +02:00
typec_retimer.h
typec_tbt.h usb: typec: ps883x: Add USB4 mode and TBT3 altmode support 2025-10-22 10:58:32 +02:00
uas.h
ulpi.h
usb338x.h
usb_phy_generic.h
usbio.h usb: misc: Add Intel USBIO bridge driver 2025-09-12 14:05:09 +02:00
usbnet.h usbnet: Add support for Byte Queue Limits (BQL) 2025-11-10 17:28:38 -08:00
uvc.h media: uvcvideo: Support UVC_CROSXU_CONTROL_IQ_PROFILE 2025-09-13 18:35:02 +02:00
webusb.h
xhci-dbgp.h
xhci-sideband.h xhci: sideband: add api to trace sideband usage 2025-09-12 14:08:02 +02:00