[PATCH v5 01/28] efi: Rename UCLASS_EFI and IF_TYPE_EFI
Heinrich Schuchardt
xypron.glpk at gmx.de
Thu Dec 9 19:38:34 CET 2021
On 12/4/21 07:56, Simon Glass wrote:
> These names are better used for access to devices provided by an EFI
> layer. Use EFI_LOADER instead here, since these are only available in
> U-Boot's EFI_LOADER layer.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v5:
> - Add new patch to resolve EFI/EFI_LOADER conflict
>
> doc/develop/uefi/uefi.rst | 8 ++++----
> drivers/block/blk-uclass.c | 4 ++--
> include/blk.h | 2 +-
> include/dm/uclass-id.h | 2 +-
> lib/efi_driver/efi_block_device.c | 8 ++++----
> lib/efi_driver/efi_uclass.c | 8 ++++----
> 6 files changed, 16 insertions(+), 16 deletions(-)
>
> diff --git a/doc/develop/uefi/uefi.rst b/doc/develop/uefi/uefi.rst
> index f17138f5c76..a3e2656ab81 100644
> --- a/doc/develop/uefi/uefi.rst
> +++ b/doc/develop/uefi/uefi.rst
> @@ -620,12 +620,12 @@ EFI_DRIVER_BINDING_PROTOCOL implementation for the UEFI drivers.
>
> A linker created list is used to keep track of the UEFI drivers. To create an
> entry in the list the UEFI driver uses the U_BOOT_DRIVER macro specifying
> -UCLASS_EFI as the ID of its uclass, e.g::
> +UCLASS_EFI_LOADER as the ID of its uclass, e.g::
>
> /* Identify as UEFI driver */
> U_BOOT_DRIVER(efi_block) = {
> .name = "EFI block driver",
> - .id = UCLASS_EFI,
> + .id = UCLASS_EFI_LOADER,
> .ops = &driver_ops,
> };
>
> @@ -651,8 +651,8 @@ UEFI block IO driver
> The UEFI block IO driver supports devices exposing the EFI_BLOCK_IO_PROTOCOL.
>
> When connected it creates a new U-Boot block IO device with interface type
> -IF_TYPE_EFI, adds child controllers mapping the partitions, and installs the
> -EFI_SIMPLE_FILE_SYSTEM_PROTOCOL on these. This can be used together with the
> +IF_TYPE_EFI_LOADER, adds child controllers mapping the partitions, and installs
> +the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL on these. This can be used together with the
> software iPXE to boot from iSCSI network drives [4].
>
> This driver is only available if U-Boot is configured with::
> diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c
> index 83682dcc181..a7470ae28d5 100644
> --- a/drivers/block/blk-uclass.c
> +++ b/drivers/block/blk-uclass.c
> @@ -28,7 +28,7 @@ static const char *if_typename_str[IF_TYPE_COUNT] = {
> [IF_TYPE_SATA] = "sata",
> [IF_TYPE_HOST] = "host",
> [IF_TYPE_NVME] = "nvme",
> - [IF_TYPE_EFI] = "efi",
> + [IF_TYPE_EFI_LOADER] = "efiloader",
> [IF_TYPE_VIRTIO] = "virtio",
> [IF_TYPE_PVBLOCK] = "pvblock",
> };
> @@ -44,7 +44,7 @@ static enum uclass_id if_type_uclass_id[IF_TYPE_COUNT] = {
> [IF_TYPE_SATA] = UCLASS_AHCI,
> [IF_TYPE_HOST] = UCLASS_ROOT,
> [IF_TYPE_NVME] = UCLASS_NVME,
> - [IF_TYPE_EFI] = UCLASS_EFI,
> + [IF_TYPE_EFI_LOADER] = UCLASS_EFI_LOADER,
> [IF_TYPE_VIRTIO] = UCLASS_VIRTIO,
> [IF_TYPE_PVBLOCK] = UCLASS_PVBLOCK,
> };
> diff --git a/include/blk.h b/include/blk.h
> index f0cc7ca1a28..f0835c3fed5 100644
> --- a/include/blk.h
> +++ b/include/blk.h
> @@ -34,7 +34,7 @@ enum if_type {
> IF_TYPE_SATA,
> IF_TYPE_HOST,
> IF_TYPE_NVME,
> - IF_TYPE_EFI,
> + IF_TYPE_EFI_LOADER,
> IF_TYPE_PVBLOCK,
> IF_TYPE_VIRTIO,
>
> diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
> index fd139b9b2a0..5e503960aa7 100644
> --- a/include/dm/uclass-id.h
> +++ b/include/dm/uclass-id.h
> @@ -48,7 +48,7 @@ enum uclass_id {
> UCLASS_DMA, /* Direct Memory Access */
> UCLASS_DSA, /* Distributed (Ethernet) Switch Architecture */
> UCLASS_ECDSA, /* Elliptic curve cryptographic device */
> - UCLASS_EFI, /* EFI managed devices */
> + UCLASS_EFI_LOADER, /* Devices managed by EFI_LOADER */
"managed by EFI_LOADER" does not catch it. I will change this to
"devices created by UEFI applications and drivers" when merging.
Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> UCLASS_ETH, /* Ethernet device */
> UCLASS_ETH_PHY, /* Ethernet PHY device */
> UCLASS_FIRMWARE, /* Firmware */
> diff --git a/lib/efi_driver/efi_block_device.c b/lib/efi_driver/efi_block_device.c
> index 0937e3595a4..04cb3ef0d4e 100644
> --- a/lib/efi_driver/efi_block_device.c
> +++ b/lib/efi_driver/efi_block_device.c
> @@ -147,7 +147,7 @@ static int efi_bl_bind(efi_handle_t handle, void *interface)
> if (!obj)
> return -ENOENT;
>
> - devnum = blk_find_max_devnum(IF_TYPE_EFI);
> + devnum = blk_find_max_devnum(IF_TYPE_EFI_LOADER);
> if (devnum == -ENODEV)
> devnum = 0;
> else if (devnum < 0)
> @@ -159,8 +159,8 @@ static int efi_bl_bind(efi_handle_t handle, void *interface)
> sprintf(name, "efiblk#%d", devnum);
>
> /* Create driver model udevice for the EFI block io device */
> - ret = blk_create_device(parent, "efi_blk", name, IF_TYPE_EFI, devnum,
> - io->media->block_size,
> + ret = blk_create_device(parent, "efi_blk", name, IF_TYPE_EFI_LOADER,
> + devnum, io->media->block_size,
> (lbaint_t)io->media->last_block, &bdev);
> if (ret)
> return ret;
> @@ -209,6 +209,6 @@ static const struct efi_driver_ops driver_ops = {
> /* Identify as EFI driver */
> U_BOOT_DRIVER(efi_block) = {
> .name = "EFI block driver",
> - .id = UCLASS_EFI,
> + .id = UCLASS_EFI_LOADER,
> .ops = &driver_ops,
> };
> diff --git a/lib/efi_driver/efi_uclass.c b/lib/efi_driver/efi_uclass.c
> index 382c2b477f4..b01ce89c84e 100644
> --- a/lib/efi_driver/efi_uclass.c
> +++ b/lib/efi_driver/efi_uclass.c
> @@ -308,7 +308,7 @@ efi_status_t efi_driver_init(void)
> log_debug("Initializing EFI driver framework\n");
> for (drv = ll_entry_start(struct driver, driver);
> drv < ll_entry_end(struct driver, driver); ++drv) {
> - if (drv->id == UCLASS_EFI) {
> + if (drv->id == UCLASS_EFI_LOADER) {
> ret = efi_add_driver(drv);
> if (ret != EFI_SUCCESS) {
> log_err("Failed to add EFI driver %s\n",
> @@ -328,7 +328,7 @@ efi_status_t efi_driver_init(void)
> */
> static int efi_uc_init(struct uclass *class)
> {
> - log_debug("Initializing UCLASS_EFI\n");
> + log_debug("Initializing UCLASS_EFI_LOADER\n");
> return 0;
> }
>
> @@ -340,13 +340,13 @@ static int efi_uc_init(struct uclass *class)
> */
> static int efi_uc_destroy(struct uclass *class)
> {
> - log_debug("Destroying UCLASS_EFI\n");
> + log_debug("Destroying UCLASS_EFI_LOADER\n");
> return 0;
> }
>
> UCLASS_DRIVER(efi) = {
> .name = "efi",
> - .id = UCLASS_EFI,
> + .id = UCLASS_EFI_LOADER,
> .init = efi_uc_init,
> .destroy = efi_uc_destroy,
> };
>
More information about the U-Boot
mailing list