summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown2025-03-24 15:22:54 +0100
committerMichael Brown2025-03-24 15:25:10 +0100
commit37897fbd401b9773f3d8a338564eff67b124e2f7 (patch)
tree8012ad91412d4a0a54f4f89bdd061f2dcc8b03b9 /src
parent[efi] Use efi_open() for all ephemeral protocol opens (diff)
downloadipxe-37897fbd401b9773f3d8a338564eff67b124e2f7.tar.gz
ipxe-37897fbd401b9773f3d8a338564eff67b124e2f7.tar.xz
ipxe-37897fbd401b9773f3d8a338564eff67b124e2f7.zip
[efi] Eliminate uses of HandleProtocol()
It is now simpler to use efi_open() than to use HandleProtocol() to obtain an ephemeral protocol instance. Remove all remaining uses of HandleProtocol() to simplify the code. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src')
-rw-r--r--src/interface/efi/efi_debug.c6
-rw-r--r--src/interface/efi/efi_file.c6
2 files changed, 3 insertions, 9 deletions
diff --git a/src/interface/efi/efi_debug.c b/src/interface/efi/efi_debug.c
index ef650d989..fd4997ccc 100644
--- a/src/interface/efi/efi_debug.c
+++ b/src/interface/efi/efi_debug.c
@@ -162,15 +162,11 @@ void dbg_efi_openers ( EFI_HANDLE handle, EFI_GUID *protocol ) {
* @v protocol Protocol GUID
*/
void dbg_efi_protocol ( EFI_HANDLE handle, EFI_GUID *protocol ) {
- EFI_BOOT_SERVICES *bs = efi_systab->BootServices;
VOID *interface;
- EFI_STATUS efirc;
int rc;
/* Get protocol instance */
- if ( ( efirc = bs->HandleProtocol ( handle, protocol,
- &interface ) ) != 0 ) {
- rc = -EEFI ( efirc );
+ if ( ( rc = efi_open ( handle, protocol, &interface ) ) != 0 ) {
printf ( "HANDLE %s could not identify %s: %s\n",
efi_handle_name ( handle ),
efi_guid_ntoa ( protocol ), strerror ( rc ) );
diff --git a/src/interface/efi/efi_file.c b/src/interface/efi/efi_file.c
index f31f2fe3b..d8b9f819c 100644
--- a/src/interface/efi/efi_file.c
+++ b/src/interface/efi/efi_file.c
@@ -1000,10 +1000,8 @@ static int efi_file_path_claim ( struct efi_file_path *file ) {
}
/* Locate device path protocol on this handle */
- if ( ( ( efirc = bs->HandleProtocol ( handle,
- &efi_device_path_protocol_guid,
- &old ) ) != 0 ) ) {
- rc = -EEFI ( efirc );
+ if ( ( rc = efi_open ( handle, &efi_device_path_protocol_guid,
+ &old ) != 0 ) ) {
DBGC ( file, "EFIFILE %s could not locate %s: %s\n",
efi_file_name ( &file->file ),
efi_devpath_text ( file->path ), strerror ( rc ) );