The EFI block device driver is the only user of blk_create_device() outside
the block device uclass. Use blk_create_devicef() instead like other block
device drivers.

Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
---
 lib/efi_driver/efi_block_device.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/lib/efi_driver/efi_block_device.c 
b/lib/efi_driver/efi_block_device.c
index 34a0365739d..19a5ee24794 100644
--- a/lib/efi_driver/efi_block_device.c
+++ b/lib/efi_driver/efi_block_device.c
@@ -133,15 +133,13 @@ efi_bl_create_block_device(efi_handle_t handle, void 
*interface)
        sprintf(name, "efiblk#%d", devnum);
 
        /* Create driver model udevice for the EFI block io device */
-       if (blk_create_device(parent, "efi_blk", name, UCLASS_EFI_LOADER,
-                             devnum, io->media->block_size,
-                             (lbaint_t)io->media->last_block, &bdev)) {
+       if (blk_create_devicef(parent, "efi_blk", name, UCLASS_EFI_LOADER,
+                              devnum, io->media->block_size,
+                              (lbaint_t)io->media->last_block, &bdev)) {
                ret = EFI_OUT_OF_RESOURCES;
                free(name);
                goto err;
        }
-       /* Set the DM_FLAG_NAME_ALLOCED flag to avoid a memory leak */
-       device_set_name_alloced(bdev);
 
        plat = dev_get_plat(bdev);
        plat->handle = handle;
-- 
2.45.2

Reply via email to