diff mbox series

[RFC,03/14] efi_loader: export a couple of protocol related functions

Message ID 20200317021247.5849-4-takahiro.akashi@linaro.org
State Accepted, archived
Commit b51ec639788bdf8220de458f49498d9f19f65b2b
Headers show
Series efi_loader: add capsule update support | expand

Commit Message

Takahiro Akashi March 17, 2020, 2:12 a.m. UTC
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@linaro.org>
---
 include/efi_loader.h          | 14 ++++++++++++++
 lib/efi_loader/efi_boottime.c | 16 ++++++++--------
 2 files changed, 22 insertions(+), 8 deletions(-)

Comments

Heinrich Schuchardt March 17, 2020, 7:19 a.m. UTC | #1
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@linaro.org>

Reviewed-by: Heinrich Schuchardt <xypron.glpk@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);
>
Heinrich Schuchardt March 18, 2020, 6:03 p.m. UTC | #2
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@linaro.org>

Merged into U-Boot master

Best regards

Heinrich
diff mbox series

Patch

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);