
Hi Alex,
On 3 July 2017 at 06:37, Alexander Graf agraf@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 mmc@70000.blk... Scanning disk mmc@72000.blk... Card did not respond to voltage select! mmc_init: -95, time 9 Scanning disk mmc@74000.blk... Found 3 disks Hello, world! ## Application terminated, r = 0
Signed-off-by: Heinrich Schuchardt xypron.glpk@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 afaerber@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