diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2019-05-11 10:53:33 +0300 |
---|---|---|
committer | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2019-05-12 21:54:22 +0300 |
commit | 64b5ba4d293ac9b5416c286aa2d0051b6a9594d6 (patch) | |
tree | e8c43613de924c06cbbfc500df1e471b5187519a /lib | |
parent | 334997356e6c394d0898bdb746e7794f4b226ef3 (diff) | |
download | u-boot-64b5ba4d293ac9b5416c286aa2d0051b6a9594d6.tar.xz |
efi_loader: make device path to text protocol customizable
The device path to text protocol is not needed for EBBR compliance. So
let's make it a customizable option.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/efi_loader/Kconfig | 7 | ||||
-rw-r--r-- | lib/efi_loader/Makefile | 2 | ||||
-rw-r--r-- | lib/efi_loader/efi_root_node.c | 2 | ||||
-rw-r--r-- | lib/efi_selftest/Makefile | 2 | ||||
-rw-r--r-- | lib/vsprintf.c | 4 |
5 files changed, 14 insertions, 3 deletions
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig index 3feb04a5ed..6501ee56aa 100644 --- a/lib/efi_loader/Kconfig +++ b/lib/efi_loader/Kconfig @@ -18,6 +18,13 @@ config EFI_LOADER if EFI_LOADER +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_LOADER_HII bool "HII protocols" default y diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile index 2b1ae61a3d..f3d6773bf6 100644 --- a/lib/efi_loader/Makefile +++ b/lib/efi_loader/Makefile @@ -21,7 +21,7 @@ obj-y += efi_bootmgr.o obj-y += efi_boottime.o obj-y += efi_console.o obj-y += efi_device_path.o -obj-y += efi_device_path_to_text.o +obj-$(CONFIG_EFI_DEVICE_PATH_TO_TEXT) += efi_device_path_to_text.o obj-y += efi_device_path_utilities.o obj-y += efi_file.o obj-$(CONFIG_EFI_LOADER_HII) += efi_hii.o efi_hii_config.o diff --git a/lib/efi_loader/efi_root_node.c b/lib/efi_loader/efi_root_node.c index f36ca3456e..d8496cc3c2 100644 --- a/lib/efi_loader/efi_root_node.c +++ b/lib/efi_loader/efi_root_node.c @@ -52,9 +52,11 @@ efi_status_t efi_root_node_register(void) (&efi_root, /* Device path protocol */ &efi_guid_device_path, dp, +#if CONFIG_IS_ENABLED(EFI_DEVICE_PATH_TO_TEXT) /* Device path to text protocol */ &efi_guid_device_path_to_text_protocol, (void *)&efi_device_path_to_text, +#endif /* Device path utilities protocol */ &efi_guid_device_path_utilities_protocol, (void *)&efi_device_path_utilities, diff --git a/lib/efi_selftest/Makefile b/lib/efi_selftest/Makefile index 7fdf189c5c..d0bebc7d0c 100644 --- a/lib/efi_selftest/Makefile +++ b/lib/efi_selftest/Makefile @@ -17,7 +17,6 @@ efi_selftest_config_table.o \ efi_selftest_controllers.o \ efi_selftest_console.o \ efi_selftest_crc32.o \ -efi_selftest_devicepath.o \ efi_selftest_devicepath_util.o \ efi_selftest_events.o \ efi_selftest_event_groups.o \ @@ -38,6 +37,7 @@ efi_selftest_util.o \ efi_selftest_variables.o \ efi_selftest_watchdog.o +obj-$(CONFIG_EFI_DEVICE_PATH_TO_TEXT) += efi_selftest_devicepath.o obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL) += efi_selftest_unicode_collation.o obj-$(CONFIG_CPU_V7) += efi_selftest_unaligned.o diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 3502b8088f..8bbbd48c54 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -296,6 +296,7 @@ static char *string16(char *buf, char *end, u16 *s, int field_width, return buf; } +#if CONFIG_IS_ENABLED(EFI_DEVICE_PATH_TO_TEXT) static char *device_path_string(char *buf, char *end, void *dp, int field_width, int precision, int flags) { @@ -314,6 +315,7 @@ static char *device_path_string(char *buf, char *end, void *dp, int field_width, return buf; } #endif +#endif #ifdef CONFIG_CMD_NET static char *mac_address_string(char *buf, char *end, u8 *addr, int field_width, @@ -451,7 +453,7 @@ static char *pointer(const char *fmt, char *buf, char *end, void *ptr, switch (*fmt) { /* Device paths only exist in the EFI context. */ -#if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(API_BUILD) +#if CONFIG_IS_ENABLED(EFI_DEVICE_PATH_TO_TEXT) && !defined(API_BUILD) case 'D': return device_path_string(buf, end, ptr, field_width, precision, flags); |