drivers/firmware/psci

Arm PSCI (Power State Coordination Interface) firmware driver

Implements the kernel side of Arm's Power State Coordination Interface, the standard way Linux asks the firmware (typically Trusted Firmware-A or a hypervisor) to bring CPUs online or offline, suspend, reboot, or power off. It is used on essentially all modern Arm64 platforms, including phones, embedded SoCs, Arm servers, and cloud VMs.

keep conf=0.90 deploy=high replacement=none subsystem=firmware category=firmware
90%

recommendation

It should stay because PSCI is the standard firmware interface that virtually every modern 64-bit Arm system — from phones and embedded SoCs to servers and cloud VMs — uses for CPU power-up, CPU hotplug, reboot, and shutdown. The code is actively maintained, with bug fixes landing in 2025 and a new SYSTEM_OFF2 hibernate-poweroff feature added in late 2024, and there is no alternative interface that could replace it on contemporary Arm hardware.

repository signals

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

sources

  1. git.kernel.org

    Bug-fix activity continued in 2025 with `firmware: psci: Fix refcount leak in psci_dt_init`, indicating active upstream maintenance rather than abandonment.

  2. git.kernel.org

    The subsystem gained new functionality in late 2024 (`SYSTEM_OFF2` hibernate power-off support), which argues against deprecation.

  3. docs.kernel.org

    Current kernel documentation says arm64 CPU hotplug is commonly implemented using PSCI, including on virtual systems, showing ongoing real deployments.

  4. docs.kernel.org

    Current Arm ACPI documentation describes Arm systems and servers as active Linux targets in which firmware interfaces remain part of the supported boot/power-management model.

  5. git.kernel.org

    The in-tree DT binding for PSCI remains present and current, reflecting continuing support for PSCI-described Arm platforms.

codex reasoning notes (technical)

`drivers/firmware/psci` is real kernel firmware-driver code (`psci.o`, `psci_checker.o`), not a helper-only directory. Upstream activity was checked with local `git log` (shell); it shows substantive fixes/features in 2024-2025 and no sign of removal. The two commit URLs are canonical kernel.org commit pages recalled from the hashes obtained via shell. Deployment evidence came from web search hits to current kernel docs (`cpu-hotplug.html`, `arm-acpi.html`), plus local source grep showing many arm64 DTS files still using `enable-method = "psci"`; the DT binding URL is a canonical kernel.org tree page recalled from that local path. PSCI is a firmware interface used across contemporary Arm servers, SoCs, and VMs, so there is no like-for-like upstream replacement driver.