External Connector (extcon) subsystem and companion-chip drivers
A Linux subsystem and set of small drivers that detect what is plugged into a port and what role it should play: USB host versus device, charger type, headphone jack, HDMI, or docking. It is widely used on phones, tablets, and embedded boards, often paired with PMICs and USB Type-C configuration controllers like the TI TUSB320 and NXP PTN5150 that are still sold new in 2025.
recommendation
Worth keeping but worth a note that its role is narrowing. The subsystem is actively maintained, with over a hundred substantive commits in the last five years from dozens of contributors and changes as recent as September 2025, and it covers connector and charger-detect chips that vendors still ship. New USB-C-only designs should generally use the dedicated USB Type-C connector class instead, but extcon remains the right home for the broader mix of legacy and PMIC-integrated connector detection, so no single replacement covers everything it does today.
repository signals
sources
- kernel.org
Kernel documentation describes extcon as an active subsystem for external connectors such as USB, charging, audio jack, video, and docking use cases.
- kernel.org
Kernel documentation shows the dedicated USB Type-C class/framework that newer USB-C-specific designs can use instead of extcon-centric modelling.
- git.kernel.org
Mainline tree contains a nontrivial extcon subsystem with many vendor-specific drivers plus shared core code, indicating an actively maintained subsystem rather than a dead single-device driver.
- nxp.com
PTN5150A, represented in this directory by extcon-usbc-tusb320/ptn5150-class support patterns, is a still-marketed USB Type-C controller family, supporting the conclusion that relevant hardware remained sold in 2025.
- ti.com
TI still markets the TUSB320 Type-C configuration-channel controller, matching hardware covered by drivers in this directory and showing ongoing new-hardware relevance.
codex reasoning notes (technical)
Not an early-exit case: drivers/extcon contains 25 C files and real driver entry points. Lore-first check was attempted with lore_subsystem_churn(path:drivers/extcon/) plus lore_regex(subject:/extcon/i,since=5y) and lore_path_mentions(prefix drivers/extcon/, since=5y); churn returned zero lore patch mail visibility and the two search-style lore queries timed out under the server wall-clock cap, so there is no positive evidence of an upstream removal series. I then inspected the local tree (`rg --files drivers/extcon`) and local extcon documentation, and used canonical-recall URLs for kernel.org docs/tree plus vendor product pages. Given the supplied static stats (108 substantive commits in 5y, most recent 2025-09-08, 36 authors) and the broad mix of still-relevant connector/PMIC chips, this directory should be kept; annotate that new USB-C-only designs should prefer the Type-C class where appropriate.