Hi! This is v2 of [0] trying to clean up the handle and protocol management APIs.
[0] https://lore.kernel.org/u-boot/4766d2b2-7fd3-0206-37ee-709a6fe2b...@gmx.de/T/ Changes since v1: patch 1/2: - remove (void*) since it's not needed when installing protocols - convert #ifdefs to if CONFIG_IS_ENABLED() Changes since RFC: patch 1/2: - Use ret instead of r as a return variable - Use goto for handling efi_va_end() patch 2/2: - Check the return value of efi_uninstall_multiple_protocol_interfaces Ilias Apalodimas (2): efi_loader: define internal implementations of install/uninstallmultiple cmd: replace efi_create_handle/add_protocol with InstallMultipleProtocol cmd/bootefi.c | 17 ++- include/efi.h | 2 + include/efi_loader.h | 6 +- lib/efi_loader/efi_boottime.c | 214 +++++++++++++++++++++++-------- lib/efi_loader/efi_capsule.c | 15 ++- lib/efi_loader/efi_console.c | 14 +- lib/efi_loader/efi_disk.c | 10 +- lib/efi_loader/efi_load_initrd.c | 15 +-- lib/efi_loader/efi_root_node.c | 48 +++---- 9 files changed, 226 insertions(+), 115 deletions(-) -- 2.34.1