Re: [PATCH 2/5] ARM: dts: rockchip: assign a fixed index to mmc devices on rv1108 boards

From: Arnd Bergmann
Date: Tue Feb 09 2021 - 20:10:28 EST


On Mon, Jan 18, 2021 at 4:52 PM Johan Jonker <jbx6244@xxxxxxxxx> wrote:
>
> Recently introduced async probe on mmc devices can shuffle block IDs.
> Pin them to fixed values to ease booting in environments where UUIDs are
> not practical. Use newly introduced aliases for mmcblk devices from [1].
> The sort order is based on reg address.
>
> [1] https://patchwork.kernel.org/patch/11747669/

I just saw this in the pull request:

> Signed-off-by: Johan Jonker <jbx6244@xxxxxxxxx>
> ---
> arch/arm/boot/dts/rv1108.dtsi | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
> index bec47e0be..a754851f4 100644
> --- a/arch/arm/boot/dts/rv1108.dtsi
> +++ b/arch/arm/boot/dts/rv1108.dtsi
> @@ -19,6 +19,9 @@
> i2c1 = &i2c1;
> i2c2 = &i2c2;
> i2c3 = &i2c3;
> + mmc0 = &emmc;
> + mmc1 = &sdio;
> + mmc2 = &sdmmc;
> serial0 = &uart0;
> serial1 = &uart1;
> serial2 = &uart2;

Please don't put these aliases into a .dtsi file, as not every board
will provide each instance. The entire point of the aliases is to
have sane enumeration, so you should start at index 0 for the
first one that is actually present and count up from there.

I would suggest you move these aliases into the .dts files for
the existing boards for the next cycle, and then make sure
only the ones that are present have an alias.

It might actually be a good idea to have a warning in dtc when
there is an alias pointing to a status="disabled" device, but I
suspect there would be a lot of fallout from that.

Arnd