drivers/extcon

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.

keep-annotate conf=0.77 last_sold=2025 deploy=medium replacement=USB Type-C connector class (drivers/usb/typec) for new USB-C designs; no single full replacement for all extcon use cases subsystem=extcon category=bus-other
77%

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

31 files
15,431 source lines
117 commits, 5y
+4,197 / −622 lines added / removed, 5y
40 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 117 total · active in 37/61 months
2021 2022 2023 2024 2025 2026 2021-04: 1 commit · +1 −0 2021-05: 4 commits · +13 −16 2021-06: 6 commits · +275 −91 2021-07: 2 commits · +1 −3 2021-08: 0 commits · +0 −0 2021-09: 3 commits · +190 −10 2021-10: 0 commits · +0 −0 2021-11: 2 commits · +2 −14 2021-12: 5 commits · +51 −11 2022-01: 2 commits · +5 −1 2022-02: 5 commits · +216 −26 2022-03: 2 commits · +3 −16 2022-04: 4 commits · +55 −13 2022-05: 1 commit · +0 −6 2022-06: 4 commits · +2 −5 2022-07: 3 commits · +216 −30 2022-08: 1 commit · +1 −3 2022-09: 1 commit · +1 −1 2022-10: 0 commits · +0 −0 2022-11: 6 commits · +26 −17 2022-12: 1 commit · +2 −2 2023-01: 2 commits · +2 −1 2023-02: 0 commits · +0 −0 2023-03: 18 commits · +331 −187 2023-04: 3 commits · +23 −14 2023-05: 1 commit · +5 −5 2023-06: 0 commits · +0 −0 2023-07: 0 commits · +0 −0 2023-08: 1 commit · +1 −0 2023-09: 1 commit · +1,804 −0 2023-10: 3 commits · +58 −42 2023-11: 2 commits · +9 −3 2023-12: 1 commit · +1 −1 2024-01: 0 commits · +0 −0 2024-02: 10 commits · +23 −42 2024-03: 1 commit · +0 −1 2024-04: 1 commit · +2 −0 2024-05: 1 commit · +512 −0 2024-06: 0 commits · +0 −0 2024-07: 0 commits · +0 −0 2024-08: 1 commit · +5 −10 2024-09: 3 commits · +8 −13 2024-10: 1 commit · +2 −0 2024-11: 0 commits · +0 −0 2024-12: 1 commit · +8 −8 2025-01: 0 commits · +0 −0 2025-02: 0 commits · +0 −0 2025-03: 0 commits · +0 −0 2025-04: 0 commits · +0 −0 2025-05: 8 commits · +323 −5 2025-06: 0 commits · +0 −0 2025-07: 0 commits · +0 −0 2025-08: 0 commits · +0 −0 2025-09: 0 commits · +0 −0 2025-10: 0 commits · +0 −0 2025-11: 0 commits · +0 −0 2025-12: 0 commits · +0 −0 2026-01: 0 commits · +0 −0 2026-02: 5 commits · +20 −25 2026-03: 0 commits · +0 −0 2026-04: 0 commits · +0 −0

sources

  1. kernel.org

    Kernel documentation describes extcon as an active subsystem for external connectors such as USB, charging, audio jack, video, and docking use cases.

  2. 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.

  3. 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.

  4. 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.

  5. 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.