1 /* 2 * EFI application loader 3 * 4 * Copyright (c) 2017 Heinrich Schuchardt 5 * 6 * SPDX-License-Identifier: GPL-2.0+ 7 */ 8 9 #ifndef _EFI_DRIVER_H 10 #define _EFI_DRIVER_H 1 11 12 #include <common.h> 13 #include <dm.h> 14 #include <efi_loader.h> 15 16 struct efi_driver_ops { 17 const efi_guid_t *protocol; 18 const efi_guid_t *child_protocol; 19 int (*bind)(efi_handle_t handle, void *interface); 20 }; 21 22 /* 23 * This structure adds internal fields to the driver binding protocol. 24 */ 25 struct efi_driver_binding_extended_protocol { 26 struct efi_driver_binding_protocol bp; 27 const struct efi_driver_ops *ops; 28 }; 29 30 #endif /* _EFI_DRIVER_H */ 31