diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2024-03-04 20:00:00 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2024-03-05 16:28:06 +0100 |
commit | b2af074756a08bc26b9b51d665f35abafce82dcc (patch) | |
tree | df1a5cdba014a71d29a3d75934e330fe16ba46de | |
parent | 51b155eb9e02d61de13f8d0b682c7d3a8a952488 (diff) | |
download | barebox-b2af074756a0.tar.gz barebox-b2af074756a0.tar.xz |
efi: add efi_driver_binding_protocol
We didn't need this for the EFI payload use case, but will need this for
the EFI loader use case.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Link: https://lore.barebox.org/20240304190038.3486881-76-a.fatoum@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | include/efi.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/efi.h b/include/efi.h index 08cb07c8b9..a6dbc14ff3 100644 --- a/include/efi.h +++ b/include/efi.h @@ -576,6 +576,25 @@ extern struct efi_runtime_services *RT; #define EFI_DRIVER_BINDING_PROTOCOL_GUID \ EFI_GUID(0x18a031ab, 0xb443, 0x4d1a, 0xa5, 0xc0, 0x0c, 0x09, 0x26, 0x1e, 0x9f, 0x71) +struct efi_driver_binding_protocol { + efi_status_t (EFIAPI * supported)( + struct efi_driver_binding_protocol *this, + efi_handle_t controller_handle, + struct efi_device_path *remaining_device_path); + efi_status_t (EFIAPI * start)( + struct efi_driver_binding_protocol *this, + efi_handle_t controller_handle, + struct efi_device_path *remaining_device_path); + efi_status_t (EFIAPI * stop)( + struct efi_driver_binding_protocol *this, + efi_handle_t controller_handle, + size_t number_of_children, + efi_handle_t *child_handle_buffer); + u32 version; + efi_handle_t image_handle; + efi_handle_t driver_binding_handle; +}; + extern efi_guid_t efi_file_info_id; extern efi_guid_t efi_simple_file_system_protocol_guid; extern efi_guid_t efi_file_system_info_guid; |