linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Doug Anderson <dianders@chromium.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Ulf Hansson <ulf.hansson@linaro.org>,
	Jaehoon Chung <jh80.chung@samsung.com>,
	Shawn Lin <shawn.lin@rock-chips.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Stefan Agner <stefan@agner.ch>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	Brian Norris <computersforpeace@gmail.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Heiko Stuebner <heiko@sntech.de>,
	Jisheng Zhang <jszhang@marvell.com>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>,
	devicetree-spec@vger.kernel.org,
	Mark Rutland <mark.rutland@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Venu Byravarasu <vbyravarasu@nvidia.com>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Jon Hunter <jonathanh@nvidia.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Pawel Moll <pawel.moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Grant Grundler <grundler@chromium.org>,
	Kumar Gala <galak@codeaurora.org>,
	"Luca Porzio (lporzio)" <lporzio@micron.com>,
	Rob Herring <robh+dt@kernel.org>,
	Chaotian Jing <chaotian.jing@mediatek.com>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	zhonghui.fu@linux.intel.com, kirill.shutemov@linux.intel.com
Subject: Re: [PATCH v2 0/4] Patches to allow consistent mmc / mmcblk numbering w/ device tree
Date: Fri, 29 Apr 2016 16:01:58 -0700	[thread overview]
Message-ID: <CAD=FV=U5jnJJ3v=nFGFecoKB5KGv1ufC+aKbHx2iCqBTWpDTww@mail.gmail.com> (raw)
In-Reply-To: <20160429224407.GF19428@n2100.arm.linux.org.uk>

Hi,

On Fri, Apr 29, 2016 at 3:44 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> My reply would be... why should MMC have special handling that no
> other subsystem has?

No other subsystem?

* i2c allows numbering devices by alias
* rtc allows numbering devices by alias.
* serial allows numbering devices by alias.
* spi allows numbering devices by alias.
* watchdog allows numbering devices by alias.

...at least that's my impression doing a grep for of_alias_get_id(),
which I suggested earlier in this thread but apparently wasn't done.


> Here's another example.  Plug in several USB serial adapters.  Which
> USB serial /dev/ttyUSB* device corresponds to which adapter?  The
> answer is... it depends on the order you plug them in, which could
> well be different from the order in which they are found if the
> machine reboots.  That's a very real problem.

USB is, by definition, hotplug and probable and there is no ordering.
For peripherals built-in to a SoC there is a sane ordering.  Thus
hotplug peripherals and builtin peripherals shouldn't have the same
requirements.

Quite honestly, it _would_ be quite convenient that if you are on a
SoC and you know it has builtin USB controllers to have the root hubs
numbered in a sane and consistent manner.  An area for a future patch,
maybe.


> However, the answer to this problem is not to find some way to bind
> a particular /dev/ttyUSB* node to a particular USB device, but to
> use the solution(s) already provided - iow, /dev/serial/by-id or
> /dev/serial/by-path trees which give a stable view of these devices.
>
> Now, while that allows the appropriate /dev/ttyUSB* device to be
> found, it doesn't solve the "which ttyUSB* entry in the kernel
> message log corresponds with which adapter" (which is the basis
> of your point #1.)  That's not solved, and isn't purposely isn't
> solved for any kernel subsystem.
>
> Another example - I have boards here with multiple RTCs... guess
> what happens with those?  Yep, same problem.  They get dynamic
> /dev/rtc* assignment.

Are you quite certain about that?  See above.


> Another example - I have a board with three ethernet devices...
> yep, same problem again, the order depends on the driver probe
> order, and they get dynamically assigned eth* names.

Ethernet is often provided by USB and thus hotplug and probable.
Quite honestly if there was a builtin Ethernet adapter provided on a
SoC (not connected over USB), it would be super handy if it was forced
to be "eth0" (and if there were more than one if they could be ordered
in a way that made sense for that SoC).  Dynamic ordering could come
after.


> The list of subsystems that have this property is large, because
> it's all dependent on the device/driver probing order.

Sure.  For hotplug, there is no sane device ordering.

For things built in to an SoC, there is sane device ordering.  Dynamic
ordering should come after static.


> So, please answer this question: why should _only_ MMC be treated
> as a special case?  Please give a _technical_ reason rather than a
> _personal_ reason.

Because technically it makes it easier for people to understand their
system to have a sane ordering for builtin peripherals.


-Doug

  reply	other threads:[~2016-04-29 23:02 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-29 17:32 [PATCH v2 0/4] Patches to allow consistent mmc / mmcblk numbering w/ device tree Douglas Anderson
2016-04-29 17:32 ` [PATCH v2 1/4] Documentation: mmc: Document mmc aliases Douglas Anderson
2016-04-29 17:32 ` [PATCH v2 2/4] mmc: read mmc alias from device tree Douglas Anderson
2016-04-29 17:32 ` [PATCH v2 3/4] mmc: use SD/MMC host ID for block device name ID Douglas Anderson
2016-04-29 17:32 ` [PATCH v2 4/4] ARM: dts: rockchip: Add mmc aliases for rk3288 platform Douglas Anderson
2016-04-29 18:12 ` [PATCH v2 0/4] Patches to allow consistent mmc / mmcblk numbering w/ device tree Rob Herring
2016-04-29 19:31   ` Doug Anderson
2016-04-29 19:50     ` Russell King - ARM Linux
2016-04-29 20:02       ` Doug Anderson
2016-04-29 18:12 ` Russell King - ARM Linux
2016-04-29 19:43   ` Doug Anderson
2016-04-29 19:57     ` Russell King - ARM Linux
2016-04-29 20:04       ` Doug Anderson
2016-04-29 21:13         ` Russell King - ARM Linux
2016-04-29 21:17           ` Doug Anderson
2016-04-29 21:29             ` Russell King - ARM Linux
2016-04-29 21:39               ` Doug Anderson
2016-04-29 21:50                 ` Russell King - ARM Linux
2016-04-29 21:56                   ` Doug Anderson
2016-04-29 22:16                     ` Russell King - ARM Linux
2016-04-29 22:22                       ` Doug Anderson
2016-04-29 22:44                         ` Russell King - ARM Linux
2016-04-29 23:01                           ` Doug Anderson [this message]
2016-04-29 23:58                             ` Peter Hurley
     [not found]                               ` <CAD=FV=V_YyfBOSs7BLkyhv=_5HBmf3djUWACbL6d-bwnrueDjA@mail.gmail.com>
2016-04-30  0:31                                 ` Peter Hurley
2016-04-30  2:29                                   ` Doug Anderson
2016-04-30  8:38                                   ` Russell King - ARM Linux
2016-04-30 13:23                             ` Rob Herring
2016-04-29 22:42                       ` Javier Martinez Canillas
2016-04-30 10:48                         ` Russell King - ARM Linux
2016-05-03 19:17                           ` Trent Piepho
2016-05-04  7:18   ` Pavel Machek
2016-05-04 12:25     ` Rob Herring
2016-05-04 12:46       ` Pavel Machek
2019-03-05 12:39 ` Måns Rullgård
2019-03-15 21:52   ` Tim Harvey
2019-03-15 23:00     ` Marek Vasut
2019-03-15 23:13       ` Tim Harvey
2019-03-15 23:23       ` Doug Anderson
     [not found]       ` <yw1xftrn2em9.fsf@mansr.com>
2019-03-16 12:33         ` Marek Vasut
2019-03-16 15:39           ` Russell King - ARM Linux admin
2019-03-17 15:05             ` Stefan Agner
2019-03-17 15:43               ` Russell King - ARM Linux admin
2019-03-17 15:50                 ` Marek Vasut
2019-03-17 16:48               ` Måns Rullgård
2019-03-17 16:59                 ` Russell King - ARM Linux admin
2019-03-27 17:37                   ` Tim Harvey
2019-03-27 20:54                     ` Russell King - ARM Linux admin

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='CAD=FV=U5jnJJ3v=nFGFecoKB5KGv1ufC+aKbHx2iCqBTWpDTww@mail.gmail.com' \
    --to=dianders@chromium.org \
    --cc=adrian.hunter@intel.com \
    --cc=chaotian.jing@mediatek.com \
    --cc=computersforpeace@gmail.com \
    --cc=devicetree-spec@vger.kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=galak@codeaurora.org \
    --cc=grundler@chromium.org \
    --cc=heiko@sntech.de \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=jh80.chung@samsung.com \
    --cc=jonathanh@nvidia.com \
    --cc=jszhang@marvell.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=lars@metafoo.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux@arm.linux.org.uk \
    --cc=lporzio@micron.com \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=shawn.lin@rock-chips.com \
    --cc=stefan@agner.ch \
    --cc=sudeep.holla@arm.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vbyravarasu@nvidia.com \
    --cc=zhonghui.fu@linux.intel.com \
    /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).