uboot/include/efi_driver.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 *  EFI application loader
   4 *
   5 *  Copyright (c) 2017 Heinrich Schuchardt
   6 */
   7
   8#ifndef _EFI_DRIVER_H
   9#define _EFI_DRIVER_H 1
  10
  11#include <efi_loader.h>
  12
  13/*
  14 * Operations supported by an EFI driver with respect to the EFI uclass
  15 *
  16 * @protocol            The GUID of the protocol which is consumed by the
  17 *                      driver. This GUID is used by the EFI uclass in the
  18 *                      supports() and start() methods of the
  19 *                      EFI_DRIVER_BINDING_PROTOCOL.
  20 * @child_protocol      Protocol supported by the child handles generated by
  21 *                      the EFI driver.
  22 * @bind                Function called by the EFI uclass to attach the
  23 *                      driver to EFI driver to a handle.
  24 */
  25struct efi_driver_ops {
  26        const efi_guid_t *protocol;
  27        const efi_guid_t *child_protocol;
  28        int (*bind)(efi_handle_t handle, void *interface);
  29};
  30
  31/*
  32 * This structure adds internal fields to the driver binding protocol.
  33 */
  34struct efi_driver_binding_extended_protocol {
  35        struct efi_driver_binding_protocol bp;
  36        const struct efi_driver_ops *ops;
  37};
  38
  39#endif /* _EFI_DRIVER_H */
  40