[resent RFC 17/22] efi_loader: add efi_remove_handle()
Ilias Apalodimas
ilias.apalodimas at linaro.org
Tue Oct 12 10:16:03 CEST 2021
On Mon, Oct 04, 2021 at 12:44:25PM +0900, AKASHI Takahiro wrote:
> This function is a counterpart of efi_add_handle() and will be used
> in order to remove an efi_disk object in a later patch.
>
> Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
> ---
> include/efi_loader.h | 2 ++
> lib/efi_loader/efi_boottime.c | 8 ++++++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/include/efi_loader.h b/include/efi_loader.h
> index cfbe1fe659ef..50f4119dcdfb 100644
> --- a/include/efi_loader.h
> +++ b/include/efi_loader.h
> @@ -579,6 +579,8 @@ void efi_save_gd(void);
> void efi_runtime_relocate(ulong offset, struct efi_mem_desc *map);
> /* Add a new object to the object list. */
> void efi_add_handle(efi_handle_t obj);
> +/* Remove a object from the object list. */
> +void efi_remove_handle(efi_handle_t obj);
> /* Create handle */
> efi_status_t efi_create_handle(efi_handle_t *handle);
> /* Delete handle */
> diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
> index f0283b539e46..b2503b74233b 100644
> --- a/lib/efi_loader/efi_boottime.c
> +++ b/lib/efi_loader/efi_boottime.c
> @@ -503,6 +503,14 @@ void efi_add_handle(efi_handle_t handle)
> list_add_tail(&handle->link, &efi_obj_list);
> }
>
> +void efi_remove_handle(efi_handle_t handle)
> +{
> + if (!handle)
> + return;
> +
> + list_del(&handle->link);
> +}
> +
We already have efi_delete_handle(). You can't unconditionally remove a
handle unless all protocols are removed. Can't you just use the existing
function?
Cheers
/Ilias
> /**
> * efi_create_handle() - create handle
> * @handle: new handle
> --
> 2.33.0
>
More information about the U-Boot
mailing list