Browse Source

efi_loader: make EFI_DT_FIXUP_PROTOCOL configurable

Allow EFI_DT_FIXUP_PROTOCOL to be disabled via configuration.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt 3 years ago
parent
commit
4cb07d8d93
3 changed files with 12 additions and 5 deletions
  1. 8 0
      lib/efi_loader/Kconfig
  2. 3 4
      lib/efi_loader/efi_dt_fixup.c
  3. 1 1
      lib/efi_loader/efi_root_node.c

+ 8 - 0
lib/efi_loader/Kconfig

@@ -208,6 +208,14 @@ config EFI_DEVICE_PATH_TO_TEXT
 	  The device path to text protocol converts device nodes and paths to
 	  human readable strings.
 
+config EFI_DT_FIXUP
+	bool "Device tree fixup protocol"
+	depends on !GENERATE_ACPI_TABLE
+	default y
+	help
+	  The EFI device-tree fix-up protocol provides a function to let the
+	  firmware apply fix-ups. This may be used by boot loaders.
+
 config EFI_LOADER_HII
 	bool "HII protocols"
 	default y

+ 3 - 4
lib/efi_loader/efi_dt_fixup.c

@@ -104,10 +104,9 @@ void efi_carve_out_dt_rsv(void *fdt)
  * @flags:		bit field designating action to be performed
  * Return:		status code
  */
-static efi_status_t EFIAPI efi_dt_fixup(struct efi_dt_fixup_protocol *this,
-					void *dtb,
-					efi_uintn_t *buffer_size,
-					u32 flags)
+static efi_status_t __maybe_unused EFIAPI
+efi_dt_fixup(struct efi_dt_fixup_protocol *this, void *dtb,
+	     efi_uintn_t *buffer_size, u32 flags)
 {
 	efi_status_t ret;
 	size_t required_size;

+ 1 - 1
lib/efi_loader/efi_root_node.c

@@ -61,7 +61,7 @@ efi_status_t efi_root_node_register(void)
 			 /* Device path utilities protocol */
 			 &efi_guid_device_path_utilities_protocol,
 			 (void *)&efi_device_path_utilities,
-#if !CONFIG_IS_ENABLED(GENERATE_ACPI_TABLE)
+#ifdef CONFIG_EFI_DT_FIXUP
 			 /* Device-tree fix-up protocol */
 			 &efi_guid_dt_fixup_protocol,
 			 (void *)&efi_dt_fixup_prot,