Linux 4.19 Is Finally Offering An In-Kernel GPS Subsystem
The GNSS subsystem (Global Navigation Satellite System, i.e. GPS) provides initial support for receivers. This subsystem abstracts the underlying interfaces of the devices and provides a new class type that exposes a character device to user-space for reading these GNSS receivers. The protocol handling and more is left to user-space.
Obviously Linux has supported various GPS hardware for years albeit largely out-of-tree and in unstandardized manners, which this GNSS subsystem seeks to clear up. It's looking like this GNSS subsystem and the supported drivers will be improved upon in the releases to come.
Besides the new GNNS/GPS subsystem, the char/misc work for Linux 4.19 also includes the FSI driver subsystem as a low-level hardware bus for IBM POWER hardware. There is also continued work on Coresight and Slimbus drivers, among other efforts.
The complete list of changes with the roughly sixteen thousand lines of code added to the kernel can be found via this pull request>