[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6962d659-5308-1f06-7329-1595e41aaeac@denx.de>
Date: Sun, 17 Mar 2019 16:50:51 +0100
From: Marek Vasut <marex@...x.de>
To: Russell King - ARM Linux admin <linux@...linux.org.uk>,
Stefan Agner <stefan@...er.ch>
Cc: Mark Rutland <mark.rutland@....com>,
Ulf Hansson <ulf.hansson@...aro.org>,
Måns Rullgård <mans@...sr.com>,
Heiko Stuebner <heiko@...ech.de>,
devicetree-spec@...r.kernel.org, shawn.lin@...k-chips.com,
Douglas Anderson <dianders@...omium.org>,
vbyravarasu@...dia.com, Jisheng Zhang <jszhang@...vell.com>,
Lars-Peter Clausen <lars@...afoo.de>, jonathanh@...dia.com,
Jaehoon Chung <jh80.chung@...sung.com>,
linux-rockchip@...ts.infradead.org, chaotian.jing@...iatek.com,
devicetree@...r.kernel.org, Pawel Moll <pawel.moll@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
grundler@...omium.org, Tim Harvey <tharvey@...eworks.com>,
sudeep.holla@....com, lporzio@...ron.com,
Rob Herring <robh+dt@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
linux-arm-kernel@...ts.infradead.org,
Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Linux MMC List <linux-mmc@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
Kumar Gala <galak@...eaurora.org>,
Brian Norris <computersforpeace@...il.com>,
zhonghui.fu@...ux.intel.com, kirill.shutemov@...ux.intel.com
Subject: Re: [PATCH v2 0/4] Patches to allow consistent mmc / mmcblk numbering
w/ device tree
On 3/17/19 4:43 PM, Russell King - ARM Linux admin wrote:
> On Sun, Mar 17, 2019 at 04:05:14PM +0100, Stefan Agner wrote:
>> On 16.03.2019 16:39, Russell King - ARM Linux admin wrote:
>>> On Sat, Mar 16, 2019 at 01:33:58PM +0100, Marek Vasut wrote:
>>>> If you have a FS or partition table there, it does.
>>>> If you don't, I agree ... that's a problem.
>>>
>>> eMMC boot partitions are called mmcblkXbootY, and unless you have more
>>> than one eMMC device on the system, they can be found either by looking
>>> for /dev/mmcblk*boot* or by querying udev. The advantage of using udev
>>> is you can discover the physical device behind it by looking at DEVPATH,
>>> ID_PATH, etc, but you may not have that installed on an embedded device.
>>>
>>> However, as I say, just looking for /dev/mmcblk*boot* is sufficient to
>>> find the eMMC boot partitions where there is just one eMMC device
>>> present (which seems to be the standard setup.)
>>>
>>>>> I don't care the slightest what the numbering is, as long as it is
>>>>> stable. On some hardware, with an unpatched kernel, the mmc device
>>>>> numbering changes depending on whether or not an SD card is inserted on
>>>>> boot. Getting rid of that behaviour is really all I want.
>>>>
>>>> Agreed, that would be an improvement.
>>>
>>> The mmc device numbering was tied to the mmc host numbering a while back
>>> and the order that the hosts are probed should be completely independent
>>> of whether a card is inserted or not:
>>>
>>> snprintf(md->disk->disk_name, sizeof(md->disk->disk_name),
>>> "mmcblk%u%s", card->host->index, subname ? subname : "");
>>>
>>> snprintf(rpmb_name, sizeof(rpmb_name),
>>> "mmcblk%u%s", card->host->index, subname ? subname : "");
>>>
>>> I suspect that Mans is quoting something from the dim and distant past
>>> to confuse the issue - as shown above, it is now dependent on the host
>>> numbering order not the order in which cards are inserted.
>>
>> Commit 9aaf3437aa72 ("mmc: block: Use the mmc host device index as the
>> mmcblk device index") which came in with v4.6 enables constant mmc block
>> device numbering. I can confirm that it works nicely, and it improved
>> the situation a lot.
>>
>> That being said, we still use a patch downstream which allows
>> renumbering using an alias. We deal with a bunch of different boards
>> with different SoC's. I have a couple of SD cards with various rootfs
>> and use internal eMMC boot quite often as well. Remembering which board
>> uses which numbering is a pain. Maintaining a patch is just easier...
>> Furthermore, U-Boot allows reordering and all boards I deal with use mmc
>> 0 for the internal eMMC. The aliases allow consistency.
>
> Maybe eMMC should've been given a different block device name?
I presume that's because they have hardware and software partitioning
and that's why you want to discern those two.
--
Best regards,
Marek Vasut
Powered by blists - more mailing lists