Subject: Devicetree: Initialization order of mmc block devices?

From: [email-masked] (Eric Nelson)
Date: Wed, 18 Jul 2012 07:54:43 -0700

On 07/18/2012 07:11 AM, Knut Wohlrab wrote:
> On 07/18/2012 03:47 PM, Jassi Brar wrote:
>> On 18 July 2012 15:19, Knut Wohlrab <[email-masked]> wrote:
>>
>>> If a SD card is inserted at boot time, its "mmcblk0", the embedded
>>> MMC (eMMC) device "mmcblk1". This makes it difficult to give the kernel the
>>> correct device for the eMMC root file system ("root=/dev/mmcblk?p1 ...").
>>>
>> How about root=UUID=<eMMC-partition> ?
> Because we are talking about an embedded device, it is very difficult to get a
> UUID of a eMMC partition into kernel command line with U-Boot. Handling of UUID
> is also a big effort at board manufacturing.
>
> Startup speed is very important for us. Searching for UUID on several MMC/SD
> devices will significant slow down the boot process.
>
> This problem can occur on many devices with embedded MMC and removable SD, e.g.
> smart phones. So I think we should find an solution to define MMC scan order or
> device number/name in a device tree.
>

Isn't /dev/disk/by-path what you're after?

~$ ls -l /dev/disk/by-path/
lrwxrwxrwx    1 root     root           13 Jan  1 15:22 platform-mmc0:b368 -> 
../../mmcblk0
lrwxrwxrwx    1 root     root           15 Jan  1 15:22 platform-mmc0:b368-part1 
-> ../../mmcblk0p1
lrwxrwxrwx    1 root     root           15 Jan  1 15:22 platform-mmc0:b368-part2 
-> ../../mmcblk0p2
lrwxrwxrwx    1 root     root           15 Jan  1 15:22 platform-mmc0:b368-part3 
-> ../../mmcblk0p3