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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201124103128.zucizod344dgme4o@skbuf>
Date:   Tue, 24 Nov 2020 10:31:29 +0000
From:   Vladimir Oltean <vladimir.oltean@....com>
To:     "Y.b. Lu" <yangbo.lu@....com>
CC:     Michael Walle <michael@...le.cc>, Shawn Guo <shawnguo@...nel.org>,
        Leo Li <leoyang.li@....com>, Rob Herring <robh+dt@...nel.org>,
        "linux-arm-kernel@...ts.infradead.org" 
        <linux-arm-kernel@...ts.infradead.org>,
        "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
        Adrian Hunter <adrian.hunter@...el.com>,
        Ulf Hansson <ulf.hansson@...aro.org>,
        "linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Ashish Kumar <ashish.kumar@....com>
Subject: Re: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card
 controllers use fixed indices

Hi Yangbo,

On Tue, Nov 24, 2020 at 09:02:57AM +0000, Y.b. Lu wrote:
> > Am 2020-11-24 09:47, schrieb Y.b. Lu:
> > > Hi Michael,
> > >> > I don't think it's a problem in board dts to define board specific
> > >> > thing, like re-defining alias, and disabling any IP it not using.
> > >>
> > >> First, why would you put it in the architecture include anyway? That
> > >> is really board-specific. That is like you would say, we enable all
> > >> devices and a board could potentially disable it. TBH it seems that
> > >> this will fit your reference boards and you don't care about the
> > >> other ones which uses that include.
> > >
> > > In soc dtsi, this is giving default alias for two esdhc controllers.
> > > This is not board specific.
> > > That's natural esdhc0 is mmc0 and esdhc1 is mmc1.
> >
> > How could this be not board specific if there are at least three
> > different use cases the board can choose from - and needs three
> > different configurations:
> >
> > (1) eMMC at /dev/mmcblk0, SD card at /dev/mmcblk1
> > (2) SD card at /dev/mmcblk0, eMMC at /dev/mmcblk1
> > (3) no eMMC at all, SD card at /dev/mmcblk0
>
> Not matter it's SD card or eMMC card, if it's on esdhc0, use /dev/mmcblk0.
> Not matter it's SD card or eMMC card, if it's on esdhc1, use /dev/mmcblk1.

With the note here that you can't actually connect an SD card to eSDHC1,
due to the lack of pins for CD/WP.

> It's not related to board and card type, it's only related to esdhc interface in use.

I understand the hardware-centric view that you are coming from. It may
be natural for you that eSDHC0 is for the SD card and eSDHC1 is for eMMC,
because these are the designations in the SoC.

But it is also natural for a customer to define the indices according to
their schematics and what they use. If, say, there is a board that only
uses eMMC, I would expect that for the lay person, no one would even bat
an eye if that was called /dev/mmcblk0. Whereas, if it was called
/dev/mmcblk1 (and there was no /dev/mmcblk0 in the system), maybe you'd
have to come up with some explanations which could be avoided.

I am only a passerby when it comes to the MMC subsystem. But in
networking/DSA, it is frequent that the board designer comes up with
their own numbering scheme, which has nothing to do with the numbering
of the chip. Consider this extreme case from
arch/arm/boot/dts/ls1021a-tsn.dts:

	sja1105: ethernet-switch@1 {
		ports {
			port@0 {
				/* ETH5 written on chassis */
				label = "swp5";
			};

			port@1 {
				/* ETH2 written on chassis */
				label = "swp2";
			};

			port@2 {
				/* ETH3 written on chassis */
				label = "swp3";
			};

			port@3 {
				/* ETH4 written on chassis */
				label = "swp4";
			};
		};
	};

You just have to go along with how the hardware is being used in the
product. I could have insisted that hardware switch port 0 is named as
swp0, but that would have not helped anybody.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ