[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFDyS3PJJV+6auqjHGy6pMVN2wtQ4CWCxgkEf=iUBk55=Fyy0g@mail.gmail.com>
Date: Wed, 14 Jun 2017 11:20:49 +0300
From: Tal Shorer <tal.shorer@...il.com>
To: Alan Cox <gnomes@...rguk.ukuu.org.uk>
Cc: linux-doc@...r.kernel.org,
"<linux-kernel@...r.kernel.org>" <linux-kernel@...r.kernel.org>,
USB list <linux-usb@...r.kernel.org>,
"<gregkh@...uxfoundation.org>" <gregkh@...uxfoundation.org>,
Felipe Balbi <balbi@...nel.org>,
Jonathan Corbet <corbet@....net>
Subject: Re: [PATCH v2 1/8] tty: add a poll() callback in struct tty_operations
On Wed, Jun 14, 2017 at 4:15 AM, Alan Cox <gnomes@...rguk.ukuu.org.uk> wrote:
> On Tue, 13 Jun 2017 09:52:07 +0300
> Tal Shorer <tal.shorer@...il.com> wrote:
>
>> If a tty driver wants to notify the user of some exceptional event,
>> such as a usb cdc acm device set_line_coding event, it needs a way to
>> modify the mask returned by poll() and possible also add wait queues.
>> In order to do that, we allow the driver to supply a poll() callback
>> of its own, which will be called in n_tty_poll().
>>
>> Signed-off-by: Tal Shorer <tal.shorer@...il.com>
>
> You might be in any line discipline so you need to support that for each
> ldisc that supports poll(). Also what do I do when I get an exception
> event - what does it mean, how do I understand that, are you proposing a
> standardized meaning ? Have you checked whether that conflicts with SuS
> v3 or POSIX ? What will it do with existing code.
>
> At the very least it probably has to be something you turn on, and you
> might then want to model it on the pty/tty interface logic and extend
> TIOCPKT a shade.
That would cut it, but TIOCPKT is too coupled with having a linked tty.
I could make acm behave like a pty (accept TIOCPKT and issue the
ctrl_status bits), but for that I need n_tty to know that packet does
not always mean a linked tty is present, and that in case it isn't we
take our own ctrl_status bits instead of the link's. I could write a
small (inline?) function to fetch the correct ctrl_status bits and put
that in n_tty. Does that make sense?
Powered by blists - more mailing lists