Messages in this thread | | | Date | Wed, 3 Apr 2013 18:19:15 -0700 | From | Greg KH <> | Subject | Re: GPS driver for Linux - kernel or user-space driver? |
| |
On Wed, Apr 03, 2013 at 06:12:42PM -0700, Marcel Holtmann wrote: > Hi Greg, > > >> I've been approached by a developer at Sony who wants to publish an > >> open source driver for a Sony GPS receiver module. > > > > What does the device look like? USB device? UART? Something else? > > > >> I've looked in the kernel source, and only see one standalone GPS > >> driver, for Garmin. It appears that most GPS support in Linux is done > >> via user-space drivers. Many GPS hardware modules appear to be > >> accessed via a serial line, or USB/serial port. The Sony > >> module is pretty much the same, accepting commands and delivering > >> data via a uart from the chip. > >> > >> I planning to recommend writing a user-space driver (based on > >> gpsd and/or the Android GPS HAL specification). But I'm worried > >> I'm missing something. Is this the correct approach, or is there > >> an established kernel API for GPS modules - such that I should > >> recommend that this developer writes a kernel module instead > >> of, or in addition to, the user-space support for the hardware? > > > > If it's just a uart-like device, just write a serial driver and drive it > > from gpsd. That way seems to be the simplest and then the kernel just > > becomes a dumb-pipe, which is fine. > > the one thing that still bugs me is that detecting an UART with GPS > functionality behind it is extremely bad experience. If we could get > something like DEVTYPE=gps support for the TTY layer, that would be > helpful.
I would love that, but there's tons of USB gps devices that we don't know if they are a USB serial device, or a GPS device as the device id is the same (companies just embed a usb to serial chip in their devices.)
So, someone has to guess, right now it's userspace.
Unless you have a better idea?
thanks,
greg k-h
| |