Re: TTY: tty_port questions

Alan Cox
2012-03-25T21:06:35Z

On Sun, 25 Mar 2012 19:31:14 +0100
Al Viro <viro@ZenIV.linux.org.uk> wrote:

> How is tty_port supposed to work wrt hotplug? I.e. are those guys (OK,
> the structures they are embedded into) supposed to live as long as
> tty_driver lives? AFAICS, for serial we have an extra layer atop of
> those guys (uart_port) and that's where removals seem to act, but there
> seems to be more to it...

Serial had pre-exising gunge not all of which has been cleaned, just as
it still has its own buffers that want to be using kfifo.

Best examples are probably USB serial and neatest may well be the sdio
serial card driver.

> Suppose we handle uml reconfig requests as port removal + port addition;
> what's needed to make sure that port is out of use and we can play with
> it without stepping on anyone's toes? Something along the lines of what
> uart_remove_one_port() is doing? I.e. tty_unregister_device() + tty_vhangup()?
> But serial_core seems to be open-coding tty_port_open() for some reason
> and _there_ we have port->count updates under port->mutex, so the
> situation might be different...

If you are creating/removing physical ports (or fake physical ports) you
probably need to be refcounting them too.

Alan