Re: [PATCH v2 2/9] tty_port: allow a port to be opened with a tty that has no file handle

From: One Thousand Gnomes
Date: Tue Jan 17 2017 - 09:58:19 EST


On Mon, 16 Jan 2017 16:54:29 -0600
Rob Herring <robh@xxxxxxxxxx> wrote:

> From: Alan Cox <alan@xxxxxxxxxxxxxxx>
>
> Let us create tty objects entirely in kernel space. Untested proposal to
> show why all the ideas around rewriting half the uart stack are not needed.
>
> With this a kernel created non file backed tty object could be used to handle
> data, and set terminal modes. Not all ldiscs can cope with this as N_TTY in
> particular has to work back to the fs/tty layer.
>
> The tty_port code is however otherwise clean of file handles as far as I can
> tell as is the low level tty port write path used by the ldisc, the
> configuration low level interfaces and most of the ldiscs.
>
> Currently you don't have any exposure to see tty hangups because those are
> built around the file layer. However a) it's a fixed port so you probably
> don't care about that b) if you do we can add a callback and c) you almost
> certainly don't want the userspace tear down/rebuild behaviour anyway.
>
> This should however be sufficient if we wanted for example to enumerate all
> the bluetooth bound fixed ports via ACPI and make them directly available.
> It doesn't deal with the case of a user opening a port that's also kernel
> opened and that would need some locking out (so it returned EBUSY if bound
> to a kernel device of some kind). That needs resolving along with how you
> "up" or "down" your new bluetooth device, or enumerate it while providing
> the existing tty API to avoid regressions (and to debug).
>
> Alan
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Reviewed-By: Sebastian Reichel <sre@xxxxxxxxxx>
> ---
> Alan, Need your SoB here.

Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>

Alan