drivers/hid/i2c-hid

HID over I2C transport for laptop and tablet touchpads, touchscreens, and keyboards

The standard transport that lets the kernel talk to HID input devices wired over an I2C bus rather than USB, which is how almost every modern laptop and tablet touchpad and touchscreen is connected. It handles both the ACPI0C50/PNP0C50 binding common on x86 machines and device-tree variants from vendors like Elan, Goodix, and FocalTech.

keep conf=0.95 last_sold=2025 deploy=high replacement=none subsystem=hid category=input-hid
95%

recommendation

It should stay in the kernel because it is the transport that nearly every contemporary laptop and tablet relies on for its touchpad and touchscreen, and there is no alternative driver covering the same role. Upstream activity is very much alive, with 2025 commits adding new device IDs such as the FocalTech FT8112, fixing Dell S4 suspend behavior, tightening Elan timing, and patching a buffer overflow.

repository signals

9 files
2,624 source lines
88 commits, 5y
+1,593 / −976 lines added / removed, 5y
38 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 88 total · active in 36/61 months
2021 2022 2023 2024 2025 2026 2021-04: 1 commit · +8 −1 2021-05: 1 commit · +2 −2 2021-06: 1 commit · +79 −13 2021-07: 1 commit · +1 −1 2021-08: 1 commit · +2 −3 2021-09: 0 commits · +0 −0 2021-10: 0 commits · +0 −0 2021-11: 1 commit · +4 −1 2021-12: 2 commits · +19 −16 2022-01: 13 commits · +399 −368 2022-02: 1 commit · +1 −1 2022-03: 0 commits · +0 −0 2022-04: 0 commits · +0 −0 2022-05: 1 commit · +146 −0 2022-06: 0 commits · +0 −0 2022-07: 0 commits · +0 −0 2022-08: 2 commits · +3 −5 2022-09: 0 commits · +0 −0 2022-10: 1 commit · +6 −9 2022-11: 5 commits · +16 −38 2022-12: 4 commits · +5 −15 2023-01: 4 commits · +72 −31 2023-02: 3 commits · +27 −78 2023-03: 0 commits · +0 −0 2023-04: 3 commits · +33 −11 2023-05: 2 commits · +19 −5 2023-06: 0 commits · +0 −0 2023-07: 6 commits · +276 −103 2023-08: 2 commits · +42 −12 2023-09: 0 commits · +0 −0 2023-10: 1 commit · +81 −63 2023-11: 0 commits · +0 −0 2023-12: 9 commits · +105 −89 2024-01: 2 commits · +6 −1 2024-02: 0 commits · +0 −0 2024-03: 1 commit · +0 −9 2024-04: 3 commits · +35 −36 2024-05: 2 commits · +47 −14 2024-06: 0 commits · +0 −0 2024-07: 1 commit · +8 −0 2024-08: 0 commits · +0 −0 2024-09: 2 commits · +30 −18 2024-10: 4 commits · +22 −2 2024-11: 1 commit · +12 −8 2024-12: 0 commits · +0 −0 2025-01: 1 commit · +1 −1 2025-02: 1 commit · +1 −1 2025-03: 0 commits · +0 −0 2025-04: 0 commits · +0 −0 2025-05: 0 commits · +0 −0 2025-06: 0 commits · +0 −0 2025-07: 0 commits · +0 −0 2025-08: 2 commits · +39 −20 2025-09: 1 commit · +37 −1 2025-10: 0 commits · +0 −0 2025-11: 1 commit · +8 −0 2025-12: 1 commit · +1 −0 2026-01: 0 commits · +0 −0 2026-02: 0 commits · +0 −0 2026-03: 0 commits · +0 −0 2026-04: 0 commits · +0 −0

sources

  1. lore.kernel.org

    Recent upstream work touched i2c-hid power-management behavior, indicating active maintenance rather than retirement.

  2. cateee.net

    LKDDb describes this as generic HID-over-I2C support for keyboards, touchpads, touchscreens and other HID devices, showing broad device scope.

  3. cateee.net

    LKDDb shows the ACPI transport binding (including ACPI0C50) remains present in current kernels, matching common x86 laptop/tablet deployments.

  4. learn.microsoft.com

    Microsoft documents HID-over-I2C devices as widely used in modern laptops and tablets, supporting that this hardware class is still current in 2025.

codex reasoning notes (technical)

Real driver directory: module_i2c_driver entry points are present in i2c-hid-acpi.c, i2c-hid-of.c, i2c-hid-of-elan.c, and i2c-hid-of-goodix.c (checked via local shell rg). Upstream activity is clearly live: local git log shows 2025-2026 fixes/new IDs (Dell S4 touchpad issue, FocalTech FT8112, ELAN timing, buffer-overflow fix), and the cited lore URL came from MCP lore_substr_subject on 'i2c-hid'. Deployment remains high because this is the standard HID-over-I2C transport for laptop/tablet touchpads and touchscreens; LKDDb and Microsoft URLs were obtained by web search. No natural replacement driver exists for the same use case; this directory is the transport layer itself, so removal/deprecation is not justified.