Message ID | 20171022124508.12653-10-xypron.glpk@gmx.de |
---|---|
State | Superseded, archived |
Delegated to: | Alexander Graf |
Headers | show |
Series | efi_loader: clean up protocol services | expand |
On 22 October 2017 at 06:45, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > EFI_HANDLEs are used both in boottime and in runtime services. > efi_search_obj is a function that can be used to validate > handles. So let's make it accessible via efi_loader.h. > > We can simplify the coding using list_for_each_entry. > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > --- > include/efi_loader.h | 2 ++ > lib/efi_loader/efi_boottime.c | 9 +++------ > 2 files changed, 5 insertions(+), 6 deletions(-) Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/include/efi_loader.h b/include/efi_loader.h index e3d1c35930..2bcca3dfd8 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -192,6 +192,8 @@ void efi_restore_gd(void); void efi_runtime_relocate(ulong offset, struct efi_mem_desc *map); /* Call this to set the current device name */ void efi_set_bootdev(const char *dev, const char *devnr, const char *path); +/* Call this to validate a handle and find the EFI object for it */ +struct efi_object *efi_search_obj(void *handle); /* Call this to create an event */ efi_status_t efi_create_event(uint32_t type, efi_uintn_t notify_tpl, void (EFIAPI *notify_function) ( diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index b6eebe3b14..bdbed32656 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -684,14 +684,11 @@ static efi_status_t EFIAPI efi_check_event(struct efi_event *event) * @handle handle to find * @return EFI object */ -static struct efi_object *efi_search_obj(void *handle) +struct efi_object *efi_search_obj(void *handle) { - struct list_head *lhandle; - - list_for_each(lhandle, &efi_obj_list) { - struct efi_object *efiobj; + struct efi_object *efiobj; - efiobj = list_entry(lhandle, struct efi_object, link); + list_for_each_entry(efiobj, &efi_obj_list, link) { if (efiobj->handle == handle) return efiobj; }
EFI_HANDLEs are used both in boottime and in runtime services. efi_search_obj is a function that can be used to validate handles. So let's make it accessible via efi_loader.h. We can simplify the coding using list_for_each_entry. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- include/efi_loader.h | 2 ++ lib/efi_loader/efi_boottime.c | 9 +++------ 2 files changed, 5 insertions(+), 6 deletions(-)