mbox series

[RFC,0/7] efi_loader: move device-path node generation to DM

Message ID 20230326172743.93974-1-heinrich.schuchardt@canonical.com
Headers show
Series efi_loader: move device-path node generation to DM | expand

Message

Heinrich Schuchardt March 26, 2023, 5:27 p.m. UTC
UEFI device-paths are used in the EFI world to depict the parent-child
relationship between devices. No two device can have the same device-path.
Currently we fail to generate unique devices-paths.

The nodes in UEFI device paths should match the devices on the path
to the DM root node.

I have started drafting a solution. Several block device classes still need
to be handled (IDE, NVMe, EFI, VirtIO). Also handling of PCI addresses is
missing. But this series contains enough to see the direction of
development.

Heinrich Schuchardt (7):
  dm: add get_dp_node() to struct uclass_driver
  dm: implement uclass_get_dp_node()
  dm: implement get_dp_node for block devices
  dm: implement get_dp_node for USB hub devices
  dm: implement get_dp_node for USB mass storage devices
  dm: implement get_dp_node for MMC devices
  efi_loader: use uclass_get_dp_node

 common/usb_hub.c                 |  33 ++++
 common/usb_storage.c             |  33 ++++
 drivers/block/blk-uclass.c       |  56 ++++++
 drivers/core/uclass.c            |  26 +++
 drivers/mmc/mmc-uclass.c         |  25 +++
 include/dm/uclass.h              |  13 ++
 include/efi_loader.h             |   7 +
 lib/efi_loader/efi_device_path.c | 325 +++----------------------------
 8 files changed, 221 insertions(+), 297 deletions(-)