diff mbox series

[v5,01/28] efi: Rename UCLASS_EFI and IF_TYPE_EFI

Message ID 20211204085647.v5.1.I0fe54c28f143525a17746622da0465cdee6bf405@changeid
State Accepted, archived
Delegated to: Heinrich Schuchardt
Headers show
Series efi: Improvements to U-Boot running on top of UEFI | expand

Commit Message

Simon Glass Dec. 4, 2021, 3:56 p.m. UTC
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@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(-)

Comments

Heinrich Schuchardt Dec. 9, 2021, 6:38 p.m. UTC | #1
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@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@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,
>   };
>
diff mbox series

Patch

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 */
 	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,
 };