efi: Create the grub_efi_close_protocol() library function
Create a library function for CloseProtocol() and use it for the SNP driver. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
efd9406e12
commit
d0219bffc7
@ -117,6 +117,14 @@ grub_efi_open_protocol (grub_efi_handle_t handle,
|
||||
return interface;
|
||||
}
|
||||
|
||||
grub_efi_status_t
|
||||
grub_efi_close_protocol (grub_efi_handle_t handle, grub_efi_guid_t *protocol)
|
||||
{
|
||||
grub_efi_boot_services_t *b = grub_efi_system_table->boot_services;
|
||||
|
||||
return efi_call_4 (b->close_protocol, handle, protocol, grub_efi_image_handle, NULL);
|
||||
}
|
||||
|
||||
int
|
||||
grub_efi_set_text_mode (int on)
|
||||
{
|
||||
|
||||
@ -156,9 +156,7 @@ open_card (struct grub_net_card *dev)
|
||||
|
||||
if (dev->efi_net != NULL)
|
||||
{
|
||||
efi_call_4 (grub_efi_system_table->boot_services->close_protocol,
|
||||
dev->efi_handle, &net_io_guid,
|
||||
grub_efi_image_handle, NULL);
|
||||
grub_efi_close_protocol (dev->efi_handle, &net_io_guid);
|
||||
dev->efi_net = NULL;
|
||||
}
|
||||
/*
|
||||
@ -220,9 +218,7 @@ close_card (struct grub_net_card *dev)
|
||||
{
|
||||
efi_call_1 (dev->efi_net->shutdown, dev->efi_net);
|
||||
efi_call_1 (dev->efi_net->stop, dev->efi_net);
|
||||
efi_call_4 (grub_efi_system_table->boot_services->close_protocol,
|
||||
dev->efi_handle, &net_io_guid,
|
||||
grub_efi_image_handle, 0);
|
||||
grub_efi_close_protocol (dev->efi_handle, &net_io_guid);
|
||||
}
|
||||
|
||||
static struct grub_net_card_driver efidriver =
|
||||
|
||||
@ -35,6 +35,8 @@ EXPORT_FUNC(grub_efi_locate_handle) (grub_efi_locate_search_type_t search_type,
|
||||
void *EXPORT_FUNC(grub_efi_open_protocol) (grub_efi_handle_t handle,
|
||||
grub_efi_guid_t *protocol,
|
||||
grub_efi_uint32_t attributes);
|
||||
grub_efi_status_t
|
||||
EXPORT_FUNC(grub_efi_close_protocol) (grub_efi_handle_t handle, grub_efi_guid_t *protocol);
|
||||
int EXPORT_FUNC(grub_efi_set_text_mode) (int on);
|
||||
void EXPORT_FUNC(grub_efi_stall) (grub_efi_uintn_t microseconds);
|
||||
void *
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user