mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
efi_loader: Clean up efi_dp_append and efi_dp_concat
Looking back at the initrd storing functionality, we introduced three functions, efi_dp_append_or_concatenate(), efi_dp_append/concat(). In hindsight we could have simplified that by a lot. First of all none of the functions append anything. They all allocate a new device path and concatenate the contents of two device paths in one. A boolean parameter controls the final device path -- if that's true an end node is injected between the two device paths. So let's rewrite this and make it a bit easier to read. Get rid of efi_dp_append(), efi_dp_concat() and rename efi_dp_append_or_concatenate() to efi_dp_concat(). This is far more intuitive and the only adjustment that is needed is an extra boolean argument on all callsites. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
parent
753f76e417
commit
f19171c919
7 changed files with 35 additions and 63 deletions
|
@ -699,8 +699,8 @@ struct efi_device_path *create_initrd_dp(const char *dev, const char *part,
|
|||
if (!short_fp)
|
||||
short_fp = tmp_fp;
|
||||
|
||||
initrd_dp = efi_dp_append((const struct efi_device_path *)&id_dp,
|
||||
short_fp);
|
||||
initrd_dp = efi_dp_concat((const struct efi_device_path *)&id_dp,
|
||||
short_fp, false);
|
||||
|
||||
out:
|
||||
efi_free_pool(tmp_dp);
|
||||
|
@ -916,7 +916,7 @@ static int do_efi_boot_add(struct cmd_tbl *cmdtp, int flag,
|
|||
goto out;
|
||||
}
|
||||
|
||||
final_fp = efi_dp_concat(file_path, initrd_dp);
|
||||
final_fp = efi_dp_concat(file_path, initrd_dp, true);
|
||||
if (!final_fp) {
|
||||
printf("Cannot create final device path\n");
|
||||
r = CMD_RET_FAILURE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue