]> git.sur5r.net Git - u-boot/blobdiff - lib/efi_loader/efi_device_path_to_text.c
efi_loader: drop redundant efi_device_path_protocol
[u-boot] / lib / efi_loader / efi_device_path_to_text.c
index 4b2f43f0c8a65e037eed759426ffa8cb13ff66d4..f9d071ac50dc768fc66b22cedbaaeb25562e4a18 100644 (file)
@@ -16,7 +16,7 @@ const efi_guid_t efi_guid_device_path_to_text_protocol =
                EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID;
 
 static uint16_t *efi_convert_device_node_to_text(
-               struct efi_device_path_protocol *device_node,
+               struct efi_device_path *device_node,
                bool display_only,
                bool allow_shortcuts)
 {
@@ -55,15 +55,18 @@ static uint16_t *efi_convert_device_node_to_text(
                break;
        case DEVICE_PATH_TYPE_MEDIA_DEVICE:
                switch (device_node->sub_type) {
-               case DEVICE_PATH_SUB_TYPE_FILE_PATH:
+               case DEVICE_PATH_SUB_TYPE_FILE_PATH: {
+                       struct efi_device_path_file_path *fp =
+                               (struct efi_device_path_file_path *)device_node;
                        buffer_size = device_node->length - 4;
                        r = efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES,
                                              buffer_size, (void **) &buffer);
                        if (r != EFI_SUCCESS)
                                return NULL;
-                       memcpy(buffer, device_node->data, buffer_size);
+                       memcpy(buffer, fp->str, buffer_size);
                        break;
                }
+               }
                break;
        }
 
@@ -89,7 +92,7 @@ static uint16_t *efi_convert_device_node_to_text(
 }
 
 static uint16_t EFIAPI *efi_convert_device_node_to_text_ext(
-               struct efi_device_path_protocol *device_node,
+               struct efi_device_path *device_node,
                bool display_only,
                bool allow_shortcuts)
 {
@@ -105,7 +108,7 @@ static uint16_t EFIAPI *efi_convert_device_node_to_text_ext(
 }
 
 static uint16_t EFIAPI *efi_convert_device_path_to_text(
-               struct efi_device_path_protocol *device_path,
+               struct efi_device_path *device_path,
                bool display_only,
                bool allow_shortcuts)
 {