Messages in this thread | | | From | Tal Shorer <> | Date | Wed, 14 Jun 2017 11:20:49 +0300 | 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@lxorguk.ukuu.org.uk> wrote: > On Tue, 13 Jun 2017 09:52:07 +0300 > Tal Shorer <tal.shorer@gmail.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@gmail.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?
| |