summaryrefslogtreecommitdiff
path: root/lib/efi_loader/efi_disk.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-08-13 07:37:48 -0400
committerTom Rini <trini@konsulko.com>2022-08-13 07:37:48 -0400
commit20d4c6052fe5826b3421e86b2f0e76a6c22581a7 (patch)
treeb11d7fc88bcabb8aac89bda03e30c1af40eab613 /lib/efi_loader/efi_disk.c
parent8f9eee8275cf475f6d9435e85aa2d04b61b3cd75 (diff)
parent046d7a0bb1b383fe14bfe950b91ce2e20f835bd4 (diff)
Merge tag 'efi-2022-10-rc3' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request for efi-2022-10-rc3 Documentation: * Add HTML documentation for patman * Improve binman documentation * Man-page for gpio UEFI: * move udevice pointer into struct efi_object * fix efi_convert_device_path_to_text() Other: * fs/erofs: silence messages from erofs_probe()
Diffstat (limited to 'lib/efi_loader/efi_disk.c')
-rw-r--r--lib/efi_loader/efi_disk.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c
index 1d700b2a6be..16d14b04297 100644
--- a/lib/efi_loader/efi_disk.c
+++ b/lib/efi_loader/efi_disk.c
@@ -46,7 +46,6 @@ struct efi_disk_obj {
struct efi_device_path *dp;
unsigned int part;
struct efi_simple_file_system_protocol *volume;
- struct udevice *dev; /* TODO: move it to efi_object */
};
/**
@@ -124,16 +123,16 @@ static efi_status_t efi_disk_rw_blocks(struct efi_block_io *this,
return EFI_BAD_BUFFER_SIZE;
if (CONFIG_IS_ENABLED(PARTITIONS) &&
- device_get_uclass_id(diskobj->dev) == UCLASS_PARTITION) {
+ device_get_uclass_id(diskobj->header.dev) == UCLASS_PARTITION) {
if (direction == EFI_DISK_READ)
- n = dev_read(diskobj->dev, lba, blocks, buffer);
+ n = dev_read(diskobj->header.dev, lba, blocks, buffer);
else
- n = dev_write(diskobj->dev, lba, blocks, buffer);
+ n = dev_write(diskobj->header.dev, lba, blocks, buffer);
} else {
/* dev is a block device (UCLASS_BLK) */
struct blk_desc *desc;
- desc = dev_get_uclass_plat(diskobj->dev);
+ desc = dev_get_uclass_plat(diskobj->header.dev);
if (direction == EFI_DISK_READ)
n = blk_dread(desc, lba, blocks, buffer);
else
@@ -552,8 +551,7 @@ static int efi_disk_create_raw(struct udevice *dev)
return -1;
}
- disk->dev = dev;
- if (dev_tag_set_ptr(dev, DM_TAG_EFI, &disk->header)) {
+ if (efi_link_dev(&disk->header, dev)) {
efi_free_pool(disk->dp);
efi_delete_handle(&disk->header);
@@ -609,8 +607,7 @@ static int efi_disk_create_part(struct udevice *dev)
log_err("Adding partition for %s failed\n", dev->name);
return -1;
}
- disk->dev = dev;
- if (dev_tag_set_ptr(dev, DM_TAG_EFI, &disk->header)) {
+ if (efi_link_dev(&disk->header, dev)) {
efi_free_pool(disk->dp);
efi_delete_handle(&disk->header);