Message ID | 20200317021247.5849-4-takahiro.akashi@linaro.org |
---|---|
State | Accepted |
Commit | b51ec639788bdf8220de458f49498d9f19f65b2b |
Headers | show |
Series | efi_loader: add capsule update support | expand |
On 3/17/20 3:12 AM, AKASHI Takahiro wrote: > This is a preparatory patch. > Those functions will be used in an implementation of UEFI firmware > management protocol as part of my capsule update patch. > > Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de> > --- > include/efi_loader.h | 14 ++++++++++++++ > lib/efi_loader/efi_boottime.c | 16 ++++++++-------- > 2 files changed, 22 insertions(+), 8 deletions(-) > > diff --git a/include/efi_loader.h b/include/efi_loader.h > index d4c59b54c48b..c55bade6a508 100644 > --- a/include/efi_loader.h > +++ b/include/efi_loader.h > @@ -456,6 +456,20 @@ efi_status_t efi_remove_all_protocols(const efi_handle_t handle); > /* Install multiple protocol interfaces */ > efi_status_t EFIAPI efi_install_multiple_protocol_interfaces > (efi_handle_t *handle, ...); > +/* Get handles that support a given protocol */ > +efi_status_t EFIAPI efi_locate_handle_buffer( > + enum efi_locate_search_type search_type, > + const efi_guid_t *protocol, void *search_key, > + efi_uintn_t *no_handles, efi_handle_t **buffer); > +/* Close an previously opened protocol interface */ > +efi_status_t EFIAPI efi_close_protocol(efi_handle_t handle, > + const efi_guid_t *protocol, > + efi_handle_t agent_handle, > + efi_handle_t controller_handle); > +/* Open a protocol interface */ > +efi_status_t EFIAPI efi_handle_protocol(efi_handle_t handle, > + const efi_guid_t *protocol, > + void **protocol_interface); > /* 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 1f598b357a5c..9860d5047502 100644 > --- a/lib/efi_loader/efi_boottime.c > +++ b/lib/efi_loader/efi_boottime.c > @@ -2106,10 +2106,10 @@ static efi_status_t EFIAPI efi_set_watchdog_timer(unsigned long timeout, > * > * Return: status code > */ > -static efi_status_t EFIAPI efi_close_protocol(efi_handle_t handle, > - const efi_guid_t *protocol, > - efi_handle_t agent_handle, > - efi_handle_t controller_handle) > +efi_status_t EFIAPI efi_close_protocol(efi_handle_t handle, > + const efi_guid_t *protocol, > + efi_handle_t agent_handle, > + efi_handle_t controller_handle) > { > struct efi_handler *handler; > struct efi_open_protocol_info_item *item; > @@ -2282,7 +2282,7 @@ static efi_status_t EFIAPI efi_protocols_per_handle( > * > * Return: status code > */ > -static efi_status_t EFIAPI efi_locate_handle_buffer( > +efi_status_t EFIAPI efi_locate_handle_buffer( > enum efi_locate_search_type search_type, > const efi_guid_t *protocol, void *search_key, > efi_uintn_t *no_handles, efi_handle_t **buffer) > @@ -3182,9 +3182,9 @@ out: > * > * Return: status code > */ > -static efi_status_t EFIAPI efi_handle_protocol(efi_handle_t handle, > - const efi_guid_t *protocol, > - void **protocol_interface) > +efi_status_t EFIAPI efi_handle_protocol(efi_handle_t handle, > + const efi_guid_t *protocol, > + void **protocol_interface) > { > return efi_open_protocol(handle, protocol, protocol_interface, efi_root, > NULL, EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL); >
On 3/17/20 3:12 AM, AKASHI Takahiro wrote: > This is a preparatory patch. > Those functions will be used in an implementation of UEFI firmware > management protocol as part of my capsule update patch. > > Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org> Merged into U-Boot master Best regards Heinrich
diff --git a/include/efi_loader.h b/include/efi_loader.h index d4c59b54c48b..c55bade6a508 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -456,6 +456,20 @@ efi_status_t efi_remove_all_protocols(const efi_handle_t handle); /* Install multiple protocol interfaces */ efi_status_t EFIAPI efi_install_multiple_protocol_interfaces (efi_handle_t *handle, ...); +/* Get handles that support a given protocol */ +efi_status_t EFIAPI efi_locate_handle_buffer( + enum efi_locate_search_type search_type, + const efi_guid_t *protocol, void *search_key, + efi_uintn_t *no_handles, efi_handle_t **buffer); +/* Close an previously opened protocol interface */ +efi_status_t EFIAPI efi_close_protocol(efi_handle_t handle, + const efi_guid_t *protocol, + efi_handle_t agent_handle, + efi_handle_t controller_handle); +/* Open a protocol interface */ +efi_status_t EFIAPI efi_handle_protocol(efi_handle_t handle, + const efi_guid_t *protocol, + void **protocol_interface); /* 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 1f598b357a5c..9860d5047502 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -2106,10 +2106,10 @@ static efi_status_t EFIAPI efi_set_watchdog_timer(unsigned long timeout, * * Return: status code */ -static efi_status_t EFIAPI efi_close_protocol(efi_handle_t handle, - const efi_guid_t *protocol, - efi_handle_t agent_handle, - efi_handle_t controller_handle) +efi_status_t EFIAPI efi_close_protocol(efi_handle_t handle, + const efi_guid_t *protocol, + efi_handle_t agent_handle, + efi_handle_t controller_handle) { struct efi_handler *handler; struct efi_open_protocol_info_item *item; @@ -2282,7 +2282,7 @@ static efi_status_t EFIAPI efi_protocols_per_handle( * * Return: status code */ -static efi_status_t EFIAPI efi_locate_handle_buffer( +efi_status_t EFIAPI efi_locate_handle_buffer( enum efi_locate_search_type search_type, const efi_guid_t *protocol, void *search_key, efi_uintn_t *no_handles, efi_handle_t **buffer) @@ -3182,9 +3182,9 @@ out: * * Return: status code */ -static efi_status_t EFIAPI efi_handle_protocol(efi_handle_t handle, - const efi_guid_t *protocol, - void **protocol_interface) +efi_status_t EFIAPI efi_handle_protocol(efi_handle_t handle, + const efi_guid_t *protocol, + void **protocol_interface) { return efi_open_protocol(handle, protocol, protocol_interface, efi_root, NULL, EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL);
This is a preparatory patch. Those functions will be used in an implementation of UEFI firmware management protocol as part of my capsule update patch. Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org> --- include/efi_loader.h | 14 ++++++++++++++ lib/efi_loader/efi_boottime.c | 16 ++++++++-------- 2 files changed, 22 insertions(+), 8 deletions(-)