Am 20.06.2017 um 21:10 schrieb Heinrich Schuchardt: > The efi_loader currently stops iterating over the available > block devices stopping at the first device that fails. > This may imply that no block device is found. > > With the patch efi_loader only iterates over valid devices. > > It is based on patch > 06d592bf52f6 (dm: core: Add uclass_first/next_device_check()) > which is currently in u-boot-dm.git. > > For testing I used an odroid-c2 with a dts including > &sd_emmc_a { > status = "okay"; > }; > This device does not exist on the board and cannot be initialized. > > Without the patch: > > => bootefi hello > ## Starting EFI application at 01000000 ... > WARNING: Invalid device tree, expect boot to fail > mmc_init: -95, time 1806 > Found 0 disks > Hello, world! > ## Application terminated, r = 0 > > With the patch: > > => bootefi hello > ## Starting EFI application at 01000000 ... > WARNING: Invalid device tree, expect boot to fail > mmc_init: -95, time 1806 > Scanning disk m...@70000.blk... > Scanning disk m...@72000.blk... > Card did not respond to voltage select! > mmc_init: -95, time 9 > Scanning disk m...@74000.blk... > Found 3 disks > Hello, world! > ## Application terminated, r = 0 > > Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> > --- > lib/efi_loader/efi_disk.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c > index 39e602a868..4e8e7d0ad6 100644 > --- a/lib/efi_loader/efi_disk.c > +++ b/lib/efi_loader/efi_disk.c > @@ -289,9 +289,9 @@ int efi_disk_register(void) > #ifdef CONFIG_BLK > struct udevice *dev; > > - for (uclass_first_device(UCLASS_BLK, &dev); > + for (uclass_first_device_check(UCLASS_BLK, &dev); > dev; > - uclass_next_device(&dev)) { > + uclass_next_device_check(&dev)) { > struct blk_desc *desc = dev_get_uclass_platdata(dev); > const char *if_typename = dev->driver->name; >
Thanks, looks good. Reviewed-by: Andreas Färber <afaer...@suse.de> This will be needed for the NanoPi K2 when importing the SDIO-enabled Linux .dts. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot