Generic framework and per-vendor drivers for the pulse-width modulation hardware blocks built into modern SoCs and discrete chips. PWM outputs are everywhere in current systems: dimming LCD backlights and LEDs, controlling fan speed, driving piezo buzzers, and feeding voltage regulators on boards from Raspberry Pi to Apple Silicon laptops.
It should stay because this is a live, widely used subsystem under active development, with new feature work and stable-tree backports landing as recently as 2026. New hardware continues to ship with PWM blocks that depend on it (the Raspberry Pi 5's fan header is one visible example), and the directory contains drivers for current SoCs from Apple, Broadcom, Airoha and many others, with no single replacement on the horizon.
repository signals
82files
28,671source lines
826commits, 5y
+17,104 / −9,470lines added / removed, 5y
124authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 826 total · active in 59/61 months
Kernel documentation describes PWM as a generic framework for SoC/discrete PWM blocks used for LEDs, fans, backlights, regulators, and other current system functions.
Raspberry Pi 5 documentation shows a current-production board exposing a dedicated PWM fan connector, demonstrating new-hardware deployment in 2025-era products.
codex reasoning notes (technical)
Obtained lore URLs via `mcp__lore_http__.lore_file_timeline` on `drivers/pwm/core.c`; it showed heavy activity from 2021-2026 with recent fixes/features/backports and no removal trend in the sampled history. Obtained docs.kernel.org and Raspberry Pi URLs via `web.search_query`. Local `drivers/pwm/Kconfig` inspection via shell showed many current SoC/vendor drivers (Apple, Airoha, Broadcom/Raspberry Pi, etc.). This directory is an active subsystem for widely deployed modern PWM controller hardware, not a legacy orphan; there is no single replacement driver for the same use case.