lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 23 Sep 2021 21:48:51 +0200
From:   Ahmad Fatoum <a.fatoum@...gutronix.de>
To:     Heiko Stübner <heiko@...ech.de>,
        devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org,
        Michael Riesch <michael.riesch@...fvision.net>,
        Arnd Bergmann <arnd@...nel.org>
Cc:     Rob Herring <robh+dt@...nel.org>, Liang Chen <cl@...k-chips.com>,
        Peter Geis <pgwipeout@...il.com>,
        Simon Xue <xxm@...k-chips.com>,
        Pengutronix Kernel Team <kernel@...gutronix.de>
Subject: Re: [PATCH] arm64: dts: rockchip: move aliases to rk356x dtsi

Hello Heiko,

On 22.09.21 18:51, Heiko Stübner wrote:
> Hi Ahmad,
> 
> Am Mittwoch, 22. September 2021, 15:40:33 CEST schrieb Ahmad Fatoum:
>> Hello Heiko,
>>
>> On 17.09.21 14:01, Heiko Stübner wrote:
>>> Hi Michael,
>>>
>>> Am Freitag, 17. September 2021, 13:05:28 CEST schrieb Michael Riesch:
>>>> In order to ensure deterministic probe order over different boards,
>>>> move the aliases of on-SoC components to the corresponding dtsi
>>>> files.
>>>
>>> please read the git history on the other Rockchip SoCs. We just moved
>>> the aliases on them _to_ the board-files, as requested by
>>> arm-soc maintainers ;-)
>>
>> [Adding Arnd to CC]
>>
>> For old boards, changing the aliases may introduce breakage that outweighs
>> the benefit of having consistent numbering. This doesn't seem to apply here:
>> rk3566.dtsi is a new device tree not yet in v5.15-rc2 and rk3568 is new in
>> v5.14 and has only one board partially supported, so if we were to do this
>> change we should do it now. Boards will still be free to override the aliases,
>> but those that don't will have consistent numbering regardless of whether
>> nodes are enabled, cards are detected or probe order.
> 
> the request from Arnd was actually to move things like mmc aliases _to_
> board files away from the soc-level dtsi.

Yes, I understood that. But I think for new SoCs, there is a convincing
case for having them in the SoC dtsi.

> Supposedly to prevent holes in
> the numbering for example if the sdmmc is mmc0, emmc is mmc1,
> but sdmmc not used on a board, which would then leave mmc0 empty .

Without aliases, the numbering of the MMC devices in Linux can't be relied
on. partuuids don't work when you have the same image on e.g. eMMC and SD
and initramfs may be overkill. I'd thus say it's recommended to have aliases
for every MMC described in a device tree.

Arguably, the majority of people are fine with the numbering used by the
SoC vendor and having any numbering will prevent scripts from breaking after
updates. Board vendors that mind the holes or want to renumber the MMCs can
just override the aliases on board level.

Cheers,
Ahmad

> 
> 
> Heiko
> 
> 
> 
>>> Heiko
>>>
>>>
>>>>
>>>> Signed-off-by: Michael Riesch <michael.riesch@...fvision.net>
>>>> ---
>>>>  arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 6 ------
>>>>  arch/arm64/boot/dts/rockchip/rk3566.dtsi           | 4 ++++
>>>>  arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts   | 7 -------
>>>>  arch/arm64/boot/dts/rockchip/rk3568.dtsi           | 5 +++++
>>>>  arch/arm64/boot/dts/rockchip/rk356x.dtsi           | 2 ++
>>>>  5 files changed, 11 insertions(+), 13 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>>>> index a244f7b87e38..156bbb8aa4c4 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>>>> @@ -10,12 +10,6 @@
>>>>  	model = "Pine64 RK3566 Quartz64-A Board";
>>>>  	compatible = "pine64,quartz64-a", "rockchip,rk3566";
>>>>  
>>>> -	aliases {
>>>> -		ethernet0 = &gmac1;
>>>> -		mmc0 = &sdmmc0;
>>>> -		mmc1 = &sdhci;
>>>> -	};
>>>> -
>>>>  	chosen: chosen {
>>>>  		stdout-path = "serial2:1500000n8";
>>>>  	};
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3566.dtsi b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>>>> index 3839eef5e4f7..c1b3841caa77 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>>>> @@ -4,6 +4,10 @@
>>>>  
>>>>  / {
>>>>  	compatible = "rockchip,rk3566";
>>>> +
>>>> +	aliases {
>>>> +		ethernet0 = &gmac1;
>>>> +	};
>>>>  };
>>>>  
>>>>  &power {
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>>>> index 184e2aa2416a..218f85af730c 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>>>> @@ -13,13 +13,6 @@
>>>>  	model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
>>>>  	compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";
>>>>  
>>>> -	aliases {
>>>> -		ethernet0 = &gmac0;
>>>> -		ethernet1 = &gmac1;
>>>> -		mmc0 = &sdmmc0;
>>>> -		mmc1 = &sdhci;
>>>> -	};
>>>> -
>>>>  	chosen: chosen {
>>>>  		stdout-path = "serial2:1500000n8";
>>>>  	};
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>>>> index 2fd313a295f8..dd0e800cf752 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>>>> @@ -8,6 +8,11 @@
>>>>  / {
>>>>  	compatible = "rockchip,rk3568";
>>>>  
>>>> +	aliases {
>>>> +		ethernet0 = &gmac0;
>>>> +		ethernet1 = &gmac1;
>>>> +	};
>>>> +
>>>>  	qos_pcie3x1: qos@...90080 {
>>>>  		compatible = "rockchip,rk3568-qos", "syscon";
>>>>  		reg = <0x0 0xfe190080 0x0 0x20>;
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>>> index e42fbac6147b..bb0540d3008c 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>>> @@ -29,6 +29,8 @@
>>>>  		i2c3 = &i2c3;
>>>>  		i2c4 = &i2c4;
>>>>  		i2c5 = &i2c5;
>>>> +		mmc0 = &sdmmc0;
>>>> +		mmc1 = &sdhci;
>>>>  		serial0 = &uart0;
>>>>  		serial1 = &uart1;
>>>>  		serial2 = &uart2;
>>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> linux-arm-kernel mailing list
>>> linux-arm-kernel@...ts.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>>
>>
>>
>>
> 
> 
> 
> 
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ