[Concept,13/18] efi: app: Implement %pD in the app
Commit Message
From: Simon Glass <sjg@chromium.org>
This printf() extension is useful for the app. Add an implementation of
efi_dp_str() so that it works as expected.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
lib/efi/Kconfig | 12 +++++++++++-
lib/efi_client/efi.c | 15 +++++++++++++++
lib/efi_loader/Kconfig | 7 -------
3 files changed, 26 insertions(+), 8 deletions(-)
@@ -11,12 +11,22 @@ config EFI
This is used to provide libraries shared by both.
+if EFI_LOADER
+
config EFI_BINARY_EXEC
bool "Execute UEFI binary"
default y
- depends on EFI_LOADER
help
Select this option if you want to execute the UEFI binary after
loading it with U-Boot load commands or other methods.
You may enable CMD_BOOTEFI_BINARY so that you can use bootefi
command to do that.
+
+config EFI_DEVICE_PATH_TO_TEXT
+ bool "Device path to text protocol"
+ default y
+ help
+ The device path to text protocol converts device nodes and paths to
+ human readable strings.
+
+endif # EFI_LOADER
@@ -196,3 +196,18 @@ void efi_free_pool(void *ptr)
efi_free(priv, ptr);
}
+
+/* helper for debug prints.. efi_free_pool() the result. */
+uint16_t *efi_dp_str(struct efi_device_path *dp)
+{
+ struct efi_priv *priv = efi_get_priv();
+ u16 *val;
+
+ if (!priv->efi_dp_to_text)
+ return NULL;
+
+ val = priv->efi_dp_to_text->convert_device_path_to_text(dp, true,
+ true);
+
+ return val;
+}
@@ -356,13 +356,6 @@ endmenu
menu "UEFI protocol support"
-config EFI_DEVICE_PATH_TO_TEXT
- bool "Device path to text protocol"
- default y
- help
- The device path to text protocol converts device nodes and paths to
- human readable strings.
-
config EFI_DEVICE_PATH_UTIL
bool "Device path utilities protocol"
default y