Hi Alex, On 3 July 2017 at 06:37, Alexander Graf <ag...@suse.de> wrote: > On 06/20/2017 09:39 PM, Andreas Färber wrote: >> >> 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. > > > Simon, this patch requires your patches to be in tree first. What's your > plan to move forward here?
It is applied to u-boot-dm/master but was too late for this release, which should be in a week. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot