efi_loader: make EFI_DT_FIXUP_PROTOCOL configurable
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 16 Jan 2021 08:33:24 +0000 (09:33 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Wed, 20 Jan 2021 07:17:17 +0000 (08:17 +0100)
Allow EFI_DT_FIXUP_PROTOCOL to be disabled via configuration.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/Kconfig
lib/efi_loader/efi_dt_fixup.c
lib/efi_loader/efi_root_node.c

index 106f789..227cfa5 100644 (file)
@@ -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
index c2f2dae..3850ab3 100644 (file)
@@ -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;
index b411a12..8383fce 100644 (file)
@@ -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,