linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: Peter Hurley <peter@hurleysoftware.com>
Cc: NeilBrown <neil@brown.name>, Mark Rutland <mark.rutland@arm.com>,
	One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
	Arnd Bergmann <arnd@arndb.de>,
	devicetree@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Sebastian Reichel <sre@kernel.org>,
	linux-kernel@vger.kernel.org,
	GTA04 owners <gta04-owner@goldelico.com>,
	Pavel Machek <pavel@ucw.cz>,
	Grant Likely <grant.likely@linaro.org>,
	Jiri Slaby <jslaby@suse.cz>
Subject: Re: [Gta04-owner] [PATCH 2/3] TTY: add support for tty_slave devices.
Date: Tue, 31 Mar 2015 11:33:50 +1100	[thread overview]
Message-ID: <20150331113350.3302bde8@notabene.brown> (raw)
In-Reply-To: <55153A84.8000302@hurleysoftware.com>

[-- Attachment #1: Type: text/plain, Size: 2516 bytes --]

On Fri, 27 Mar 2015 07:09:56 -0400 Peter Hurley <peter@hurleysoftware.com>
wrote:

> On 03/25/2015 05:17 PM, NeilBrown wrote:
> > On Wed, 25 Mar 2015 12:30:00 -0400 Peter Hurley <peter@hurleysoftware.com>
> > wrote:
> > 
> >> On 03/18/2015 01:58 AM, NeilBrown wrote:
> >>
> >>> + * A "tty-slave" is a device permanently attached to a particularly
> >>> + * tty, typically wired to a UART.
> >>
> >> Why "permanently"?
> >> Is that a limitation of the implementation or design?
> >>
> > 
> > The slave is described in devicetree - that only happens for permanently
> > attached devices, doesn't it?
> > 
> > I guess that with device-tree overlays and 'capes' for boards you could have
> > a device attached to the uart "for this power session" rather than
> > "permanently", but I think it is a rather subtle distinction.
> > 
> > Did you have something else in mind?
> 
> My primary concern is that the abstraction match the scope.
> 
> If the abstraction is at the tty layer, then the scope of the design
> should support tty devices, not just hard-wired, devicetree-defined uarts.

I think I see your point, and I tend to agree.  However there is a limit to
how closely we can reach the ideal...

I see a lot of conceptual overlap between line discipline and tty_slaves.
They both provide extra driver support for the thing which the tty talks to.

Line disciplines can be configured at runtime depending on what is found to
be attached.  tty_slaves are configure at boot time depending what is
declared to be attached in device-tree.

line disciplines are a lot like device drivers, but aren't implemented that
way for sound historical reasons.  I think it would be nice if they were, but
they aren't.
tty_slaves really need to be devices with device drivers so that they can
utilise information from devicetree.

line disciplines do not and cannot know about any hardware other than the
standard UART.  tty_slaves exist so that they can know about regulators and
GPIOs and anything else that might combine with the UART to control a
particular device.

So tty_slaves are really specifically for devices which present a tty, but
have more hardware controls than just a UART.  Anything that doesn't have
more hardware controls is probably best handled from user-space or in a line
discipline.

And if there are more hardware controls, then it is sure to be permanently
attached.

Does that make sense?  Does it allay your concerns?

Thanks,
NeilBrown

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 811 bytes --]

  reply	other threads:[~2015-03-31  0:34 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-18  5:58 [PATCH 0/3] tty slave device support - version 3 NeilBrown
2015-03-18  5:58 ` [PATCH 2/3] TTY: add support for tty_slave devices NeilBrown
2015-03-18  9:11   ` Paul Bolle
2015-03-22  3:32     ` NeilBrown
2015-03-20 19:41   ` Pavel Machek
2015-03-22  3:42     ` [Gta04-owner] " NeilBrown
2015-03-22  7:58       ` Pavel Machek
2015-03-24 10:31   ` Jiri Slaby
2015-03-30 23:45     ` NeilBrown
2015-03-25 16:30   ` Peter Hurley
2015-03-25 21:17     ` [Gta04-owner] " NeilBrown
2015-03-27 11:09       ` Peter Hurley
2015-03-31  0:33         ` NeilBrown [this message]
2015-03-18  5:58 ` [PATCH 3/3] tty/slaves: add a driver to power on/off UART attached devices NeilBrown
2015-03-20  7:54   ` [Gta04-owner] " Dr. H. Nikolaus Schaller
2015-03-20  8:54     ` NeilBrown
2015-03-20  9:34       ` Dr. H. Nikolaus Schaller
2015-03-20 19:50         ` Pavel Machek
2015-03-20 23:31         ` NeilBrown
2015-03-24 17:58           ` Dr. H. Nikolaus Schaller
2015-03-25  1:45             ` Sebastian Reichel
2015-03-25  7:59               ` Dr. H. Nikolaus Schaller
2015-03-25 15:21                 ` Sebastian Reichel
2015-03-25 16:44                   ` Dr. H. Nikolaus Schaller
2015-03-26 18:08                     ` Sebastian Reichel
2015-03-27  9:22                       ` Dr. H. Nikolaus Schaller
2015-03-27 16:31                         ` Sebastian Reichel
2015-03-27 17:11                           ` Dr. H. Nikolaus Schaller
2015-04-27 20:35                             ` Pavel Machek
2015-04-29  6:56                               ` Dr. H. Nikolaus Schaller
2015-03-25 20:53                 ` Pavel Machek
2015-03-25 21:25                   ` Dr. H. Nikolaus Schaller
2015-03-26  5:56                     ` Pavel Machek
2015-03-26  6:44                       ` Dr. H. Nikolaus Schaller
2015-04-04  7:52                         ` Pavel Machek
2015-03-25 20:42             ` Pavel Machek
2015-03-25 21:22               ` Dr. H. Nikolaus Schaller
2015-03-18  5:58 ` [PATCH 1/3] TTY: use class_find_device to find port in uart_suspend/resume NeilBrown
2015-03-25 16:20   ` Peter Hurley
2015-03-29 21:49     ` [Gta04-owner] " NeilBrown
2015-03-20  7:54 ` [Gta04-owner] [PATCH 0/3] tty slave device support - version 3 Dr. H. Nikolaus Schaller
2015-03-20  8:43   ` NeilBrown
2015-03-20  8:54     ` Dr. H. Nikolaus Schaller
2015-03-20 13:08       ` Sebastian Reichel
2015-03-20 13:57         ` Dr. H. Nikolaus Schaller
2015-03-20 17:14           ` Sebastian Reichel
2015-03-20 19:31 ` Pavel Machek
2015-05-05 19:54 ` Peter Hurley
2015-05-05 20:46   ` NeilBrown
2015-05-06  5:19   ` [Gta04-owner] " Dr. H. Nikolaus Schaller
2015-05-06  9:27     ` Pavel Machek
2015-05-06 11:50       ` Dr. H. Nikolaus Schaller
2015-05-06 12:05         ` Peter Hurley
2015-05-06 12:27           ` Dr. H. Nikolaus Schaller
2015-05-06 12:36             ` Mark Rutland
2015-05-06 13:28               ` Dr. H. Nikolaus Schaller
2015-05-06 14:15                 ` Mark Rutland
2015-05-06 16:09                   ` Dr. H. Nikolaus Schaller
2015-05-06 17:18                     ` Mark Rutland
2015-05-07 12:46                       ` Dr. H. Nikolaus Schaller
2015-05-07 14:30                         ` Peter Hurley
2015-05-07 15:11                           ` Dr. H. Nikolaus Schaller
2015-05-07 16:18                             ` Peter Hurley
2015-05-07 16:57                               ` Dr. H. Nikolaus Schaller
2015-05-07 14:56                         ` Peter Hurley
2015-05-07 15:34                           ` Dr. H. Nikolaus Schaller
2015-05-07 15:51                             ` Peter Hurley
2015-05-07 16:46                               ` Dr. H. Nikolaus Schaller
2015-05-13  8:09                                 ` Dr. H. Nikolaus Schaller
2015-06-03 11:49                                   ` [PATCH RFC 0/3] UART slave device support Dr. H. Nikolaus Schaller
2015-06-06 13:09                                     ` Pavel Machek
     [not found]                                   ` <463356C5-E3C6-432C-A1C5-71F0287F1FEE@goldelico.com>
2015-06-03 12:09                                     ` [Gta04-owner] [PATCH RFC 3/3] misc: Add w2g0004 gps receiver driver Christ van Willegen
2015-05-07 15:37                 ` [Gta04-owner] [PATCH 0/3] tty slave device support - version 3 Peter Hurley
2015-05-06 14:28         ` Pavel Machek
2015-05-06 16:12           ` Dr. H. Nikolaus Schaller
2015-06-06 13:09             ` Pavel Machek
2015-06-06 18:53               ` Belisko Marek
2015-06-06 18:55                 ` Belisko Marek
2015-05-06 11:10     ` Peter Hurley
2015-05-07 15:48     ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150331113350.3302bde8@notabene.brown \
    --to=neilb@suse.de \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=gnomes@lxorguk.ukuu.org.uk \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=gta04-owner@goldelico.com \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=neil@brown.name \
    --cc=pavel@ucw.cz \
    --cc=peter@hurleysoftware.com \
    --cc=sre@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).