mirror of https://github.com/ipxe/ipxe.git
[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>pull/34/merge
parent
bac3187439
commit
37897fbd40
|
@ -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 ) );
|
||||
|
|
|
@ -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 ) );
|
||||
|
|
Loading…
Reference in New Issue