LinuxPPS Pulse-Per-Second Client Sources
Kernel attachments that let Linux receive Pulse-Per-Second timing signals from GPS receivers and atomic-clock sources wired to GPIO pins, serial ports, or parallel ports. They feed sub-microsecond time references to NTP and chrony for stratum-1 timeservers and embedded synchronization, and the directory also includes a built-in test/debug client.
recommendation
Worth keeping but worth a note about its mixed contents. The GPIO and serial PPS clients are still actively maintained (patches were landing as recently as 2026) and current 2025-era hardware like the Adafruit Raspberry Pi GPS HAT relies on them, so PPS remains the standard way to build a precise Linux timeserver. The annotation is mainly for the parallel-port client, which targets all-but-extinct hardware, and for pps-ktimer, which is a debug-only test client rather than something for production use.
repository signals
sources
- lore.kernel.org
`pps-gpio.c` had active upstream work in April 2026, with an Acked-by and Tested-by on a patch series, so this directory is not dormant.
- kernel.org
Kernel PPS documentation describes serial-port, parallel-port, and GPIO PPS sources, and documents `pps-ktimer` as a built-in testing client.
- learn.adafruit.com
A Raspberry Pi GPS HAT updated in 2025 is sold for Pi 5-class boards and exposes a PPS signal on GPIO, showing current-market GPIO PPS hardware still exists.
codex reasoning notes (technical)
Local shell inspection of `drivers/pps/clients/Kconfig` showed this directory mixes a debug client (`pps-ktimer`) with real GPIO/serial/parallel PPS clients. `lore_activity(file=drivers/pps/clients/pps-gpio.c)` showed fresh 2026 bug-fix traffic, so a deprecation/removal case is weak. Web search found the official kernel PPS docs (`turn1search0`) confirming these are still-valid PPS attachment modes, and Adafruit product docs (`turn0search4`) showing new GPIO PPS hardware still sold in 2025. Net: legacy pieces exist, especially parport, but the directory as a whole still serves niche embedded/time-sync deployments; keep it, but annotate the mixed legacy/debug nature.