summaryrefslogtreecommitdiff
path: root/include/efi.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-12-04 08:56:32 -0700
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2021-12-09 11:43:25 -0800
commitd8063dc373eb5ed5b4a31fdd3eecd32cba592696 (patch)
tree6b0c87c85a818d8955ca2e199bdb52e219e578d0 /include/efi.h
parent42b7f4212a1cb9aa6a5ca959d1f40b6f8465fd8c (diff)
downloadu-boot-d8063dc373eb5ed5b4a31fdd3eecd32cba592696.tar.gz
u-boot-d8063dc373eb5ed5b4a31fdd3eecd32cba592696.tar.bz2
u-boot-d8063dc373eb5ed5b4a31fdd3eecd32cba592696.zip
efi: Add a media/block driver for EFI block devices
Add a block driver which handles read/write for EFI block devices. This driver actually already exists ('efi_block') but is not really suitable for use as a real U-Boot driver: - The operations do not provide a udevice - The code is designed for running as part of EFI loader, so uses EFI_PRINT() and EFI_CALL(). - The bind method probes the device, which is not permitted - It uses 'EFI' as its parent device The new driver is more 'normal', just requiring its platform data be set up in advance. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Diffstat (limited to 'include/efi.h')
-rw-r--r--include/efi.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/efi.h b/include/efi.h
index b5835422b9..0ec5913ddd 100644
--- a/include/efi.h
+++ b/include/efi.h
@@ -414,6 +414,17 @@ struct efi_priv {
void *next_hdr;
};
+/*
+ * EFI attributes of the udevice handled by efi_media driver
+ *
+ * @handle: handle of the controller on which this driver is installed
+ * @blkio: block io protocol proxied by this driver
+ */
+struct efi_media_plat {
+ efi_handle_t handle;
+ struct efi_block_io *blkio;
+};
+
/* Base address of the EFI image */
extern char image_base[];