drivers/usb/roles/Kconfig
Source file repositories/reference/linux-study-clean/drivers/usb/roles/Kconfig
File Facts
- System
- Linux kernel
- Corpus path
drivers/usb/roles/Kconfig- Extension
[no extension]- Size
- 1050 bytes
- Lines
- 30
- Domain
- Driver Families
- Bucket
- drivers/usb
- Inferred role
- Driver Families: build/configuration rule
- Status
- atlas-only
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
# SPDX-License-Identifier: GPL-2.0
config USB_ROLE_SWITCH
tristate "USB Role Switch Support"
help
USB Role Switch is a device that can select the USB role - host or
device - for a USB port (connector). In most cases dual-role capable
USB controller will also represent the switch, but on some platforms
multiplexer/demultiplexer switch is used to route the data lines on
the USB connector between separate USB host and device controllers.
Say Y here if your USB connectors support both device and host roles.
To compile the driver as module, choose M here: the module will be
called roles.ko.
if USB_ROLE_SWITCH
config USB_ROLES_INTEL_XHCI
tristate "Intel XHCI USB Role Switch"
depends on ACPI && X86
help
Driver for the internal USB role switch for switching the USB data
lines between the xHCI host controller and the dwc3 gadget controller
found on various Intel SoCs.
To compile the driver as a module, choose M here: the module will
be called intel-xhci-usb-role-switch.
endif # USB_ROLE_SWITCH
Annotation
- Atlas domain: Driver Families / drivers/usb.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.