All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Marcel Holtmann <marcel@holtmann.org>,
	Jiri Slaby <jslaby@suse.com>, Sebastian Reichel <sre@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Peter Hurley <peter@hurleysoftware.com>,
	NeilBrown <neil@brown.name>,
	"Dr . H . Nikolaus Schaller" <hns@goldelico.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	"open list:BLUETOOTH DRIVERS" <linux-bluetooth@vger.kernel.org>,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH 0/3] UART slave device bus
Date: Mon, 22 Aug 2016 12:30:27 -0500	[thread overview]
Message-ID: <CAL_JsqLe74GYN+j5muoCcnEX=BRu8cCvacRG0Xz7i+AEwxbDZg@mail.gmail.com> (raw)
In-Reply-To: <20160822180254.5c95af7c@lxorguk.ukuu.org.uk>

On Mon, Aug 22, 2016 at 12:02 PM, One Thousand Gnomes
<gnomes@lxorguk.ukuu.org.uk> wrote:
>> > I think there are two other valuable features provided by serio:
>> >
>> > - an existing set of drivers written to the API
>> > - the implementation of the tty_ldisc
>>
>> True, though I'd expect little of the data flow part of it to be reused.
>
> Then your design is broken.

I'm talking about serio, not my design which I already said the
receive side at least needs work.

The serio API for rx and tx is a single character at a time. I thought
we agreed that's not sufficient for things like BT.

>> - a child of the uart node
>> - a reg property containing the line number if the parent has multiple
>> uarts (I'd expect this to rarely be used).
>
> That surprises me as for current x86 platforms it would be the norm,
> except that we use ACPI.

Exactly, we're talking DT bindings here. Each port will be a separate
node otherwise things like serial aliases and stdout-path won't work
correctly. Compatible strings for 8250 uarts are for a single port.
But if you had h/w such that it has common and per port registers then
it may be a single node. I'm not aware of any example offhand (maybe
PPC CPM). But it doesn't matter as reg can handle this case just fine
if we need to.

>> - baudrate and other line configuration (though I would expect the
>> slave driver to know all this and set it w/o DT. Also, we already have
>> a way to set baudrate in the parent node at least.)
>> - other standard device properties for interrupt, gpios, regulators.
>>
>> Also to consider is whether muxing of multiple slaves is needed. It's
>> not anything I've seen come up, but it's not hard to imagine. I think
>> that can be considered later and shouldn't impact the initial binding
>> or infrastructure.
>
> You can describe the child of the serial device as a mux and the children
> of the mux as whatever so it comes out fine when you get to that point.

Yes, that's what I had in mind.

Rob

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: One Thousand Gnomes
	<gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	Marcel Holtmann <marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org>,
	Jiri Slaby <jslaby-IBi9RG/b67k@public.gmane.org>,
	Sebastian Reichel <sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Pavel Machek <pavel-+ZI9xUNit7I@public.gmane.org>,
	Peter Hurley
	<peter-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org>,
	NeilBrown <neil-+NVA1uvv1dVBDLzU/O5InQ@public.gmane.org>,
	"Dr . H . Nikolaus Schaller"
	<hns-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>,
	Linus Walleij
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"open list:BLUETOOTH DRIVERS"
	<linux-bluetooth-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [RFC PATCH 0/3] UART slave device bus
Date: Mon, 22 Aug 2016 12:30:27 -0500	[thread overview]
Message-ID: <CAL_JsqLe74GYN+j5muoCcnEX=BRu8cCvacRG0Xz7i+AEwxbDZg@mail.gmail.com> (raw)
In-Reply-To: <20160822180254.5c95af7c-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>

On Mon, Aug 22, 2016 at 12:02 PM, One Thousand Gnomes
<gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org> wrote:
>> > I think there are two other valuable features provided by serio:
>> >
>> > - an existing set of drivers written to the API
>> > - the implementation of the tty_ldisc
>>
>> True, though I'd expect little of the data flow part of it to be reused.
>
> Then your design is broken.

I'm talking about serio, not my design which I already said the
receive side at least needs work.

The serio API for rx and tx is a single character at a time. I thought
we agreed that's not sufficient for things like BT.

>> - a child of the uart node
>> - a reg property containing the line number if the parent has multiple
>> uarts (I'd expect this to rarely be used).
>
> That surprises me as for current x86 platforms it would be the norm,
> except that we use ACPI.

Exactly, we're talking DT bindings here. Each port will be a separate
node otherwise things like serial aliases and stdout-path won't work
correctly. Compatible strings for 8250 uarts are for a single port.
But if you had h/w such that it has common and per port registers then
it may be a single node. I'm not aware of any example offhand (maybe
PPC CPM). But it doesn't matter as reg can handle this case just fine
if we need to.

>> - baudrate and other line configuration (though I would expect the
>> slave driver to know all this and set it w/o DT. Also, we already have
>> a way to set baudrate in the parent node at least.)
>> - other standard device properties for interrupt, gpios, regulators.
>>
>> Also to consider is whether muxing of multiple slaves is needed. It's
>> not anything I've seen come up, but it's not hard to imagine. I think
>> that can be considered later and shouldn't impact the initial binding
>> or infrastructure.
>
> You can describe the child of the serial device as a mux and the children
> of the mux as whatever so it comes out fine when you get to that point.

Yes, that's what I had in mind.

Rob

  reply	other threads:[~2016-08-22 17:30 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-18  1:14 [RFC PATCH 0/3] UART slave device bus Rob Herring
2016-08-18  1:14 ` [RFC PATCH 1/3] uart bus: Introduce new bus for UART slave devices Rob Herring
2016-08-18  1:14 ` [RFC PATCH 2/3] tty: serial_core: make tty_struct optional Rob Herring
2016-08-18 10:50   ` Pavel Machek
2016-08-18  1:14 ` [RFC PATCH 3/3] tty: serial_core: add uart controller registration Rob Herring
2016-08-18 10:22 ` [RFC PATCH 0/3] UART slave device bus Greg Kroah-Hartman
2016-08-18 10:22   ` Greg Kroah-Hartman
2016-08-18 10:30   ` Marcel Holtmann
2016-08-18 10:53     ` Greg Kroah-Hartman
2016-08-18 13:53       ` Rob Herring
2016-08-18 13:15   ` Rob Herring
2016-08-18 15:04     ` One Thousand Gnomes
2016-08-18 18:33       ` Rob Herring
2016-08-19 11:03         ` One Thousand Gnomes
2016-08-25 16:40       ` Rob Herring
2016-08-25 16:40         ` Rob Herring
2016-08-26 13:12         ` One Thousand Gnomes
2016-08-18 10:39 ` H. Nikolaus Schaller
2016-08-18 10:39   ` H. Nikolaus Schaller
2016-08-18 10:47   ` Pavel Machek
2016-08-18 10:54     ` H. Nikolaus Schaller
2016-08-18 10:54       ` H. Nikolaus Schaller
2016-08-18 10:57       ` Greg Kroah-Hartman
2016-08-18 11:14         ` H. Nikolaus Schaller
2016-08-18 11:14           ` H. Nikolaus Schaller
2016-08-18 11:14           ` H. Nikolaus Schaller
2016-08-18 14:40         ` One Thousand Gnomes
2016-08-18 14:40           ` One Thousand Gnomes
2016-08-18 14:58           ` Greg Kroah-Hartman
2016-08-18 11:27     ` H. Nikolaus Schaller
2016-08-18 10:49   ` Marcel Holtmann
2016-08-18 10:55     ` Greg Kroah-Hartman
2016-08-18 11:01       ` Marcel Holtmann
2016-08-18 11:24         ` Greg Kroah-Hartman
2016-08-18 11:42           ` Pavel Machek
2016-08-18 11:42             ` Pavel Machek
2016-08-18 11:51           ` Marcel Holtmann
2016-08-18 11:51             ` Marcel Holtmann
2016-08-18 15:14             ` One Thousand Gnomes
2016-08-18 15:13           ` One Thousand Gnomes
2016-08-18 11:10       ` Pavel Machek
2016-08-18 11:18         ` H. Nikolaus Schaller
2016-08-18 11:49           ` Marcel Holtmann
2016-08-18 12:16             ` H. Nikolaus Schaller
2016-08-18 12:16               ` H. Nikolaus Schaller
2016-08-18 15:15             ` One Thousand Gnomes
2016-08-18 11:47         ` Marcel Holtmann
2016-08-18 13:01           ` Pavel Machek
2016-08-18 15:16           ` One Thousand Gnomes
2016-08-18 11:02     ` H. Nikolaus Schaller
2016-08-18 11:02       ` H. Nikolaus Schaller
2016-08-18 11:41       ` Marcel Holtmann
2016-08-18 12:07         ` H. Nikolaus Schaller
2016-08-18 12:07           ` H. Nikolaus Schaller
2016-08-18 12:07           ` H. Nikolaus Schaller
2016-08-18 11:02 ` Pavel Machek
2016-08-18 13:07 ` Linus Walleij
2016-08-18 17:31   ` Marcel Holtmann
2016-08-18 14:25 ` One Thousand Gnomes
2016-08-18 15:14   ` H. Nikolaus Schaller
2016-08-18 15:14     ` H. Nikolaus Schaller
2016-08-18 15:38     ` One Thousand Gnomes
2016-08-18 18:31       ` H. Nikolaus Schaller
2016-08-18 18:31         ` H. Nikolaus Schaller
2016-08-18 22:25   ` Rob Herring
2016-08-19 11:38     ` One Thousand Gnomes
2016-08-19 15:36       ` Sebastian Reichel
2016-08-18 20:29 ` Sebastian Reichel
2016-08-18 23:08   ` Rob Herring
2016-08-19  5:21     ` Sebastian Reichel
2016-08-19  7:29       ` H. Nikolaus Schaller
2016-08-19  7:49         ` Oleksij Rempel
2016-08-19  7:49           ` Oleksij Rempel
2016-08-19 17:50           ` H. Nikolaus Schaller
2016-08-19 20:19             ` Oleksij Rempel
2016-08-19 20:19               ` Oleksij Rempel
2016-08-20 13:34             ` One Thousand Gnomes
2016-08-21  7:50               ` H. Nikolaus Schaller
2016-08-21  7:50                 ` H. Nikolaus Schaller
2016-08-22 20:39                 ` Sebastian Reichel
2016-08-22 21:23                   ` H. Nikolaus Schaller
2016-08-22 21:43                     ` Arnd Bergmann
2016-08-22 22:42                     ` Sebastian Reichel
2016-08-22 22:52                       ` One Thousand Gnomes
2016-08-22 23:10                         ` Sebastian Reichel
2016-08-23  7:28                       ` H. Nikolaus Schaller
2016-08-27 12:01                     ` Michal Suchanek
2016-08-19 11:06         ` One Thousand Gnomes
2016-08-19 17:42           ` H. Nikolaus Schaller
2016-08-19 17:42             ` H. Nikolaus Schaller
2016-08-20 13:22             ` One Thousand Gnomes
2016-08-20 13:22               ` One Thousand Gnomes
2016-08-21  7:50               ` H. Nikolaus Schaller
2016-08-21  7:50                 ` H. Nikolaus Schaller
2016-08-21  7:50                 ` H. Nikolaus Schaller
2016-08-21 17:09                 ` One Thousand Gnomes
2016-08-21 18:23                   ` H. Nikolaus Schaller
2016-08-21 18:23                     ` H. Nikolaus Schaller
2016-08-22  9:09                     ` One Thousand Gnomes
2016-08-22  9:33                       ` Marcel Holtmann
2016-08-22  9:33                         ` Marcel Holtmann
2016-08-19 11:03       ` One Thousand Gnomes
2016-08-19 11:03         ` One Thousand Gnomes
2016-08-19 14:44         ` Sebastian Reichel
2016-08-22 12:37 ` Arnd Bergmann
2016-08-22 13:38   ` Rob Herring
2016-08-22 15:24     ` Arnd Bergmann
2016-08-22 15:28       ` Marcel Holtmann
2016-08-22 15:46         ` Arnd Bergmann
2016-08-22 15:45       ` One Thousand Gnomes
2016-08-22 21:07         ` Marcel Holtmann
2016-08-22 21:35           ` One Thousand Gnomes
2016-08-22 22:03           ` Sebastian Reichel
2016-08-22 22:46             ` One Thousand Gnomes
2016-08-22 23:41               ` Sebastian Reichel
2016-08-24 12:14         ` Linus Walleij
2016-08-22 16:44       ` Rob Herring
2016-08-22 17:02         ` One Thousand Gnomes
2016-08-22 17:30           ` Rob Herring [this message]
2016-08-22 17:30             ` Rob Herring
2016-08-22 17:38             ` One Thousand Gnomes
2016-08-22 21:16               ` Marcel Holtmann
2016-08-22 21:32                 ` One Thousand Gnomes
2016-08-22 22:00                   ` Pavel Machek
2016-08-22 22:54                     ` One Thousand Gnomes
2016-08-22 23:57                       ` Sebastian Reichel
2016-08-23  0:15                         ` One Thousand Gnomes
2016-08-23  0:57                           ` Sebastian Reichel
2016-08-24 13:57                             ` One Thousand Gnomes
2016-08-24 13:57                               ` One Thousand Gnomes
2016-08-24 14:29                               ` Marcel Holtmann
2016-08-24 14:29                                 ` Marcel Holtmann
2016-08-23 11:42                           ` Marcel Holtmann
2016-08-22 23:02                     ` Sebastian Reichel
2016-08-22 20:00             ` Sebastian Reichel
2016-08-22 22:00               ` Rob Herring
2016-08-22 22:00                 ` Rob Herring
2016-08-22 22:18                 ` Sebastian Reichel
2016-08-23 21:04       ` 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='CAL_JsqLe74GYN+j5muoCcnEX=BRu8cCvacRG0Xz7i+AEwxbDZg@mail.gmail.com' \
    --to=robh@kernel.org \
    --cc=arnd@arndb.de \
    --cc=gnomes@lxorguk.ukuu.org.uk \
    --cc=gregkh@linuxfoundation.org \
    --cc=hns@goldelico.com \
    --cc=jslaby@suse.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=marcel@holtmann.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.