lkml.org 
[lkml]   [2013]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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


\
 
 \ /
  Last update: 2013-04-04 03:41    [W:0.068 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site