Return-Path: Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: [RFC PATCH 0/3] UART slave device bus From: Marcel Holtmann In-Reply-To: Date: Thu, 18 Aug 2016 13:49:45 +0200 Cc: Pavel Machek , Greg Kroah-Hartman , Rob Herring , Jiri Slaby , Sebastian Reichel , Peter Hurley , NeilBrown , Arnd Bergmann , Linus Walleij , linux-bluetooth@vger.kernel.org, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, herkne@gmx.de Message-Id: <951C95FD-35DD-4EC5-A62C-31378B85EF14@holtmann.org> References: <20160818011445.22726-1-robh@kernel.org> <118926C8-F4D0-41F5-B6A8-690E0312F3FB@goldelico.com> <28DDAF2B-2341-403B-80D8-DA0A63F51FF1@holtmann.org> <20160818105521.GB7031@kroah.com> <20160818111046.GE7427@amd> To: "H. Nikolaus Schaller" Sender: linux-serial-owner@vger.kernel.org List-ID: Hi Nikolaus, >>>> I am actually not convinced that GPS should be represented as >>>> /dev/ttyS0 or similar TTY. It think they deserve their own driver >>>> exposing them as simple character devices. That way we can have a >>>> proper DEVTYPE and userspace can find them correctly. We can also >>>> annotate them if needed for special settings. >>> >>> I would _love_ to see that happen, but what about the GPS line >>> discipline that we have today? How would that match up with a char >>> device driver? >> >> ./drivers/usb/serial/garmin_gps.c ? >> >> Hmm, some cleanups would be welcome there... plus it would be good to >> know what is its interface to userland... it is not easily apparent >> from the code. >> >> Actually, having some kind of common support for GPSes in the kernel >> would be nice. (Chardev that spits NMEA data? > > Yes and no. How do you apply tcsetattr to such a device? More or less > by implementing another tty stack? > >> ) For example N900 GPS is >> connected over network (phonet) interface, with userland driver >> translating custom protocol into NMEA. Not very nice from "kernel >> should provide hardware abstraction" point of view. > > Indeed. In such a case the translation should be done in the kernel. > But it is not necessary for devices that already provide NEMA over UART. > Still user-space should be able to tcsetattr how it wants to see the records > (mainly CR/LF translations). I disagree here. NMEA is a standard and the kernel should just enforce framing of NMEA sentences. It makes no difference what the CR/LF is. Userspace gets full sentences. Regards Marcel