Re: [PATCH 2/9] tty_port: allow a port to be opened with a tty that has no file handle
From: Rob Herring
Date: Fri Jan 13 2017 - 11:46:38 EST
On Fri, Jan 6, 2017 at 10:26 AM, 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
> ---
>
> Alan, I need a proper patch with your S-O-B for this one.
Alan, can I get your S-o-B on this? Any comments on patches 1-5 in
particular (mostly #5) before I send out updated series?
Rob