drivers/sh/maple

Sega Dreamcast Maple bus controller

Maple is the proprietary peripheral bus on Sega's Dreamcast game console (1998–2001), used to attach controllers, memory cards (VMUs), keyboards, mice, light guns, and the rumble pack. This code is the bus core that lets Linux on the Dreamcast's SH-4 CPU enumerate and talk to those peripherals.

keep-annotate conf=0.82 last_sold=2001 deploy=low replacement=none subsystem=sh category=bus-other
82%

recommendation

Worth keeping but documenting its niche because the Dreamcast was discontinued in 2001 and any remaining users are retro and homebrew enthusiasts. The Maple bus core still underpins the other in-tree Dreamcast drivers (controllers, VMUs, keyboards) and has no replacement, and it continues to receive small upstream touch-ups such as a 2021 init-return-value fix and a 2024 const cleanup, so removing it would break the rest of the SH Dreamcast support without saving much.

repository signals

2 files
888 source lines
6 commits, 5y
+12 / −16 lines added / removed, 5y
4 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 6 total · active in 4/61 months
2021 2022 2023 2024 2025 2026 2021-04: 0 commits · +0 −0 2021-05: 0 commits · +0 −0 2021-06: 0 commits · +0 −0 2021-07: 0 commits · +0 −0 2021-08: 0 commits · +0 −0 2021-09: 0 commits · +0 −0 2021-10: 0 commits · +0 −0 2021-11: 0 commits · +0 −0 2021-12: 0 commits · +0 −0 2022-01: 0 commits · +0 −0 2022-02: 0 commits · +0 −0 2022-03: 0 commits · +0 −0 2022-04: 0 commits · +0 −0 2022-05: 0 commits · +0 −0 2022-06: 0 commits · +0 −0 2022-07: 0 commits · +0 −0 2022-08: 0 commits · +0 −0 2022-09: 0 commits · +0 −0 2022-10: 0 commits · +0 −0 2022-11: 0 commits · +0 −0 2022-12: 0 commits · +0 −0 2023-01: 0 commits · +0 −0 2023-02: 1 commit · +0 −7 2023-03: 0 commits · +0 −0 2023-04: 0 commits · +0 −0 2023-05: 0 commits · +0 −0 2023-06: 0 commits · +0 −0 2023-07: 0 commits · +0 −0 2023-08: 0 commits · +0 −0 2023-09: 0 commits · +0 −0 2023-10: 0 commits · +0 −0 2023-11: 0 commits · +0 −0 2023-12: 1 commit · +2 −2 2024-01: 0 commits · +0 −0 2024-02: 0 commits · +0 −0 2024-03: 0 commits · +0 −0 2024-04: 0 commits · +0 −0 2024-05: 0 commits · +0 −0 2024-06: 0 commits · +0 −0 2024-07: 1 commit · +2 −2 2024-08: 0 commits · +0 −0 2024-09: 0 commits · +0 −0 2024-10: 0 commits · +0 −0 2024-11: 0 commits · +0 −0 2024-12: 0 commits · +0 −0 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: 0 commits · +0 −0 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: 2 commits · +4 −4 2026-03: 0 commits · +0 −0 2026-04: 0 commits · +0 −0

sources

  1. cateee.net

    CONFIG_MAPLE is Maple Bus support for SH_DREAMCAST and remains present in current kernel series listings.

  2. en.wikipedia.org

    Dreamcast hardware was discontinued on March 31, 2001, and survives mainly as a retro/homebrew platform.

  3. patchew.org

    Maple received a real functional fix in 2021: wrong return value in maple_bus_init().

  4. git.kernel.org

    Maple also saw a 2024 upstream maintenance touch: maple_bus_type was made static and const.

codex reasoning notes (technical)

Shell inspection of drivers/sh/maple/maple.c showed this is the Dreamcast Maple bus core, not a helper-only directory. Shell git log on the path showed sparse activity in 2021/2023/2024 plus later 2026 treewide churn, with no evident removal-focused series; the 2021 fix URL was obtained by web search from the observed commit history. LKDDb and Wikipedia URLs were obtained by web search. The kernel.org commit URL is canonical recall built from the locally observed 2024 commit hash. Hardware is long out of production and new deployments are effectively limited to retro/homebrew users, but the bus still underpins other in-tree Dreamcast drivers and has no replacement, so removal is not well-supported; annotate/monitor is safer than deprecate.