[BUG] Re: [PATCH v2 2/2] mmc: mmc-uclass: Use dev_seq() to read aliases node's index
Andre Przywara
andre.przywara at arm.com
Thu May 20 18:55:42 CEST 2021
On Thu, 20 May 2021 18:32:38 +0200
Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
Hi Heinrich,
> On 25.03.21 08:18, Aswath Govindraju wrote:
> > Use dev_seq() to read aliases node's index and pass it as device number
> > for creating bulk device.
> >
> > Suggested-by: Grygorii Strashko <grygorii.strashko at ti.com>
> > Signed-off-by: Aswath Govindraju <a-govindraju at ti.com>
> > Reviewed-by: Jaehoon Chung <jh80.chung at samsung.com>
>
> Since this patch merged as commit 2243d19e5618122 SD cards on
> orangepi_pc_defconfig are not detected anymore.
>
> => mmc rescan
> MMC Device 0 not found
> no mmc device at slot 0
> =>
Thanks for the report! This is a known issue, please join the
discussion here:
https://lists.denx.de/pipermail/u-boot/2021-April/447472.html
I am in the middle of some patch to make fastboot detect the
eMMC, which would render the need for this "mmc1 = &mmc2;" alias in
our sunxi-u-boot.dtsi obsolete. Removing this line should restore the
old probe order. However this is probably a bigger change (and affects
other platforms), so this is not 2021.07 material anymore.
I will push for this original patch of mine again (adding an mmc0
alias), once I have a proof of concept for the proper fastboot fix.
As you figured, this is a serious user-visible regression, so we need
to fix this.
Cheers,
Andre
>
> Best regards
>
> Heinrich
>
> > ---
> > drivers/mmc/mmc-uclass.c | 12 +++++-------
> > 1 file changed, 5 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
> > index 53eabc9e612d..d36aae367e7c 100644
> > --- a/drivers/mmc/mmc-uclass.c
> > +++ b/drivers/mmc/mmc-uclass.c
> > @@ -383,18 +383,16 @@ int mmc_bind(struct udevice *dev, struct mmc *mmc, const struct mmc_config *cfg)
> > {
> > struct blk_desc *bdesc;
> > struct udevice *bdev;
> > - int ret, devnum = -1;
> > + int ret;
> >
> > if (!mmc_get_ops(dev))
> > return -ENOSYS;
> > -#ifndef CONFIG_SPL_BUILD
> > - /* Use the fixed index with aliase node's index */
> > - ret = dev_read_alias_seq(dev, &devnum);
> > - debug("%s: alias ret=%d, devnum=%d\n", __func__, ret, devnum);
> > -#endif
> > +
> > + /* Use the fixed index with aliases node's index */
> > + debug("%s: alias devnum=%d\n", __func__, dev_seq(dev));
> >
> > ret = blk_create_devicef(dev, "mmc_blk", "blk", IF_TYPE_MMC,
> > - devnum, 512, 0, &bdev);
> > + dev_seq(dev), 512, 0, &bdev);
> > if (ret) {
> > debug("Cannot create block device\n");
> > return ret;
> >
>
More information about the U-Boot
mailing list