[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160819144428.akddnwfl5g5qhtq3@earth>
Date: Fri, 19 Aug 2016 16:44:29 +0200
From: Sebastian Reichel <sre@...nel.org>
To: One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>
Cc: Rob Herring <robh@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Marcel Holtmann <marcel@...tmann.org>,
Jiri Slaby <jslaby@...e.com>, Pavel Machek <pavel@....cz>,
Peter Hurley <peter@...leysoftware.com>,
NeilBrown <neil@...wn.name>,
"Dr . H . Nikolaus Schaller" <hns@...delico.com>,
Arnd Bergmann <arnd@...db.de>,
Linus Walleij <linus.walleij@...aro.org>,
"open list:BLUETOOTH DRIVERS" <linux-bluetooth@...r.kernel.org>,
"linux-serial@...r.kernel.org" <linux-serial@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH 0/3] UART slave device bus
Hi Alan,
On Fri, Aug 19, 2016 at 12:03:05PM +0100, One Thousand Gnomes wrote:
> > I meant "Either some function similar to userspace's poll() is
> > needed, ...". Something like uart_dev_wait_for_rx()
>
> You can't really do that - it might never return and then how do
> you want to handle timeouts and cleanups
Well there could be some timeout. As I said, I was thinking about
an API similar to poll(), but I agree, that a callback based API
is probably the better solution. It's simpler to implement and in
most cases simpler to use.
> > Alternatively the rx function could be a callback, that
> > is called when there is new data.
>
> That's what the existing API gives you as an ldisc, it can't be
> immediate in many cases however but must be buffered.
I know and I think the ldisc API is fine in this regard. Also
the buffering allows DMA, so that's obviously preferred.
> > > I'm assuming the only immediate consumers are in-kernel.
> >
> > Yes, but the driver should be notified about incoming data.
-- Sebastian
Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)
Powered by blists - more mailing lists