[RFC 6/8] boot: make EFI boot manager bootmeth non-global

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Mon Apr 21 18:25:53 CEST 2025


Global bootmeths are called before all device specific bootmeths.

To move the EFI boot manager after the block devices it must be non-global.

As sorting will be controlled boot device priority remove the digit 3 from
the name that was only used for sorting reasons.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 boot/bootmeth_efi_mgr.c | 3 +--
 test/boot/bootflow.c    | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/boot/bootmeth_efi_mgr.c b/boot/bootmeth_efi_mgr.c
index 1669cbed5bd..8f1d247c942 100644
--- a/boot/bootmeth_efi_mgr.c
+++ b/boot/bootmeth_efi_mgr.c
@@ -82,7 +82,6 @@ static int bootmeth_efi_mgr_bind(struct udevice *dev)
 	struct bootmeth_uc_plat *plat = dev_get_uclass_plat(dev);
 
 	plat->desc = "EFI bootmgr flow";
-	plat->flags = BOOTMETHF_GLOBAL;
 
 	return 0;
 }
@@ -99,7 +98,7 @@ static const struct udevice_id efi_mgr_bootmeth_ids[] = {
 	{ }
 };
 
-U_BOOT_DRIVER(bootmeth_3efi_mgr) = {
+U_BOOT_DRIVER(bootmeth_efi_mgr) = {
 	.name		= "bootmeth_efi_mgr",
 	.id		= UCLASS_BOOTMETH,
 	.of_match	= efi_mgr_bootmeth_ids,
diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c
index 5f9c037ff53..db35dad10d3 100644
--- a/test/boot/bootflow.c
+++ b/test/boot/bootflow.c
@@ -395,7 +395,7 @@ static int bootflow_system(struct unit_test_state *uts)
 	if (!IS_ENABLED(CONFIG_EFI_BOOTMGR))
 		return -EAGAIN;
 	ut_assertok(uclass_first_device_err(UCLASS_BOOTSTD, &bootstd));
-	ut_assertok(device_bind(bootstd, DM_DRIVER_GET(bootmeth_3efi_mgr),
+	ut_assertok(device_bind(bootstd, DM_DRIVER_GET(bootmeth_efi_mgr),
 				"efi_mgr", 0, ofnode_null(), &dev));
 	ut_assertok(device_probe(dev));
 	sandbox_set_fake_efi_mgr_dev(dev, true);
-- 
2.48.1



More information about the U-Boot mailing list