public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: "Dr. H. Nikolaus Schaller" <hns@goldelico.com>
Cc: Peter Hurley <peter@hurleysoftware.com>,
	Pavel Machek <pavel@ucw.cz>,
	List for communicating with real GTA04 owners
	<gta04-owner@goldelico.com>, NeilBrown <neil@brown.name>,
	One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Sebastian Reichel <sre@kernel.org>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	Jiri Slaby <jslaby@suse.cz>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Gta04-owner] [PATCH 0/3] tty slave device support - version 3.
Date: Wed, 6 May 2015 15:15:48 +0100	[thread overview]
Message-ID: <20150506141547.GB1764@leverpostej> (raw)
In-Reply-To: <BD3D34DD-2FC8-44A2-89FA-35843065F50F@goldelico.com>

> >>>> No, I am not playing devil’s advocate (which would imply that I am doing this
> >>>> for fun to tease the dog), but I feel I have to be the advocate of future board
> >>>> designers who want to easily import an existing board DT and overwrite device
> >>>> tree nodes to describe design changes, i.e. what slave device is connected to
> >>>> which uart.

[...]

> > If this happens, you can move the slave device into a fragment that you
> > can include under the correct node. That's trivial.
> 
> But less readable. And that is important as well.

I disagree. The manipulation you have to perform to override properties
is at least as bad as including a file.

> >> So the main difference is if the slave device tells to which uart it is connected
> >> or the uart which slave device it is connected to.
> >> 
> >> And I think the second approach is easier and more straightforward (on DT level).
> > 
> > We already place child nodes under their respective busses
> 
> I still wonder why UART is considered as a bus?

As Neil mentioned earlier, ignore "bus". Here we're caring about a 1-1
connection between master (UART) and slave (device), and it happens that
in most other cases the master is actually a bus, so that's how things
happen to be named.

> > for other
> > interfaces like SPI and I2C. I do not see a compelling reason to do
> > otherwise for devices
> 
> why the plural? Is there a practical example where multiple devices are
> connected to a single UART and how is addressing solved?

I'm talking about UART slaves in abstract rather than multiple slaves
attached to the same UART.

> > hanging off of UARTs -- doing so would make things
> > less straightforward because you have a fundamentally different idiom.
> 
> Yes, my proposal is fundamentally different from I2C and SPI practice, but
> it is the same that is heavily used for e.g. GPIOs and Regulators.

Well, those cases are somewhat distinct, and I'd say that UART slaves
are much closer to SPI/I2C devices than GPIOs or regulators.

Let's say I have a GPIO described via a phandle. That GPIO is actually
owned by some GPIO controller whose control interface is sat on an MMIO
bus. What we're describing with the phandle is use of the GPIO, but not
the main interface for interactive with the GPIO, which is the MMIO
interface of the controller.

In the case of UART slave devices the control interface is attached to
the UART, and effectively the slave sits on the UART's "bus". We could
refer to it from elsewhere by phandle, but its canonical parent should
be the UART, as that's what its main interface is attached to.

> From my DT designer PoV I would say the UART exists in some SoC
> (independently of a device being connected) and then, a device is connected
> to the UART. Hence the proposal of adding this connection link to the device’s
> node and not making the device a subnode. And having the device driver do
> power management and only ask the uart/tty driver to be notified about open()
> and close() events. How power is managed in detail is then not any part of the
> tty/serial drivers.

The way that the power management interfaces are organised within Linux
is orthogonal to the way we describe things in the DT.

Thanks,
Mark.

  reply	other threads:[~2015-05-06 14:15 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 1/3] TTY: use class_find_device to find port in uart_suspend/resume NeilBrown
     [not found]   ` <20150318055831.21025.27864.stgit-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2015-03-25 16:20     ` Peter Hurley
2015-03-29 21:49       ` [Gta04-owner] " NeilBrown
2015-03-18  5:58 ` [PATCH 3/3] tty/slaves: add a driver to power on/off UART attached devices NeilBrown
     [not found]   ` <20150318055831.21025.33670.stgit-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2015-03-20  7:54     ` [Gta04-owner] " Dr. H. Nikolaus Schaller
     [not found]       ` <C53A3E5D-5AEA-4F0F-88A9-F9BC8CB0D0D6-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
2015-03-20  8:54         ` NeilBrown
2015-03-20  9:34           ` Dr. H. Nikolaus Schaller
     [not found]             ` <14FB51CF-9568-4BF4-B917-2C019D992FDB-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
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
     [not found]                         ` <1F3B5E32-1330-457C-AE25-791319293C38-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
2015-03-26  5:56                           ` Pavel Machek
2015-03-26  6:44                             ` Dr. H. Nikolaus Schaller
     [not found]                               ` <365B2C25-1782-4ADE-B620-190A4CC5E8E3-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
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 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
     [not found]       ` <20150322144209.14abc603-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
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
2015-03-20  7:54 ` [Gta04-owner] [PATCH 0/3] tty slave device support - version 3 Dr. H. Nikolaus Schaller
     [not found]   ` <80D7E742-4633-4CCD-B754-221387D82922-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
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
     [not found]             ` <72268D51-F993-497A-B4F9-707C8DB7155C-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
2015-03-20 17:14               ` Sebastian Reichel
2015-03-20 19:31 ` Pavel Machek
     [not found] ` <20150318055437.21025.13990.stgit-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2015-05-05 19:54   ` Peter Hurley
2015-05-05 20:46     ` NeilBrown
     [not found]     ` <55492001.30806-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org>
2015-05-06  5:19       ` [Gta04-owner] " Dr. H. Nikolaus Schaller
     [not found]         ` <DE60E7AA-1BF4-4A68-9638-E09F85FD5C72-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
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 [this message]
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
     [not found]                               ` <B4D487C5-C260-497B-A441-6C381D53616C-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
2015-05-07 14:56                                 ` Peter Hurley
     [not found]                                   ` <554B7D33.602-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org>
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
     [not found]                                               ` <56C579D3-E8F8-4B5A-B6E8-993B113F3461-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
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
     [not found]               ` <A2594559-CA92-40C2-A06A-AC2483E85CB1-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
2015-05-06 14:28                 ` Pavel Machek
2015-05-06 16:12                   ` Dr. H. Nikolaus Schaller
     [not found]                     ` <C68A105A-7147-4143-9B91-1A239726A780-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>
2015-06-06 13:09                       ` Pavel Machek
2015-06-06 18:53                         ` Belisko Marek
2015-06-06 18:55                           ` Belisko Marek
2015-05-07 15:48           ` Rob Herring
2015-05-06 11:10         ` Peter Hurley

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=20150506141547.GB1764@leverpostej \
    --to=mark.rutland@arm.com \
    --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=hns@goldelico.com \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --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