Zack's Kernel News
Zack's Kernel News

Zack discusses the new GNSS GPS subsystem, new LoRaWAN subsystem, tracking compiler dependencies at config time, and uninlining for Debugging.
New GNSS GPS Subsystem
There was recently a scuffle over adding a new subsystem that ended with an odd resolution. Johan Hovold posted some code to add a Global Navigation Satellite System (GNSS) subsystem to the Linux kernel to support GPS devices. One of the motivations for this was the wide array of input/output systems used by these devices. Some relied on UART for communications over a serial port; others used USB ports. There were a variety of other interfaces, too. Johan wanted to create an abstraction layer, so user code could interact with GPS devices regardless of their particular hardware interface requirements. His idea was to create a new /dev/gnss0
file in user space, which could be used to query and control any GPS device attached to the running system.
To get things started, Johan had also implemented drivers for the SiRFstar and u-blox GNSS chips.
Pavel Machek could not go along with this. He pointed out that there was not, in fact, any GNSS-specific code in Johan's patches and that the code was simply a serial-device power management subsystem that couldn't handle a variety of GPS devices. He said, "This will never handle devices like Nokia N900, where GPS is connected over Netlink," an already-existing socket interface within the Linux kernel.
[...]
Buy this article as PDF
(incl. VAT)