Hi, On 13 July 2017 at 10:42, Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > On 07/03/2017 06:07 PM, Alexander Graf wrote: >> On 07/03/2017 05:34 PM, Simon Glass wrote: >>> 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. >> >> Awesome :). Please CC me on the pull request then, so that I see when I >> can merge things into mine and apply it there.
I didn't think to cc you, but it is now in mainline. >> >> >> Alex >> >> > > Hello Alex, > > in your efi-next tree you now have the prerequisite patch. > > Please, pull > https://patchwork.ozlabs.org/patch/778454/ > > Best regards > > Heinrich Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot