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. > > > 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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot