Now that capsule update sets the dfu_alt_info environment variable
explicitly, there is no need to support it in the set_dfu_alt_info()
function. Decouple SET_DFU_ALT_INFO from EFI_CAPSULE_FIRMWARE_FIT and
EFI_CAPSULE_FIRMWARE_RAW. For many boards, this was the only use of
set_dfu_alt_info() so remove the function entirely.

Fixes: a9e6f01a941f ("efi: Define set_dfu_alt_info() for boards with UEFI 
capsule update enabled")

Signed-off-by: Jonathan Humphreys <j-humphr...@ti.com>
Signed-off-by: Michal Simek <michal.si...@amd.com>
Reviewed-by: Mattijs Korpershoek <mkorpersh...@baylibre.com>
Reviewed-by: Neil Armstrong <neil.armstr...@linaro.org> # for 
board/libre-computer/*
Reviewed-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>
---
 board/beagle/beagleboneai64/beagleboneai64.c       |  8 --------
 board/beagle/beagleplay/beagleplay.c               |  8 --------
 board/libre-computer/aml-a311d-cc/aml-a311d-cc.c   |  2 --
 board/libre-computer/aml-s805x-ac/aml-s805x-ac.c   |  2 --
 board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c |  2 --
 board/phytec/common/k3/board.c                     |  8 --------
 board/ti/am62px/evm.c                              |  8 --------
 board/ti/am62x/evm.c                               |  8 --------
 board/ti/am64x/evm.c                               |  8 --------
 board/ti/j721e/evm.c                               |  8 --------
 board/ti/j784s4/evm.c                              |  8 --------
 board/xilinx/common/board.h                        |  3 +++
 board/xilinx/versal/board.c                        | 13 ++++---------
 board/xilinx/zynq/board.c                          | 13 ++++---------
 board/xilinx/zynqmp/zynqmp.c                       | 13 ++++---------
 lib/efi_loader/Kconfig                             |  2 --
 lib/efi_loader/efi_firmware.c                      |  5 -----
 17 files changed, 15 insertions(+), 104 deletions(-)

diff --git a/board/beagle/beagleboneai64/beagleboneai64.c 
b/board/beagle/beagleboneai64/beagleboneai64.c
index e8d07f1f95f..99eb8972cf3 100644
--- a/board/beagle/beagleboneai64/beagleboneai64.c
+++ b/board/beagle/beagleboneai64/beagleboneai64.c
@@ -45,14 +45,6 @@ struct efi_capsule_update_info update_info = {
        .images = fw_images,
 };
 
-#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
-void set_dfu_alt_info(char *interface, char *devstr)
-{
-       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
-}
-#endif
-
 int board_init(void)
 {
        return 0;
diff --git a/board/beagle/beagleplay/beagleplay.c 
b/board/beagle/beagleplay/beagleplay.c
index fae69b37585..78635810585 100644
--- a/board/beagle/beagleplay/beagleplay.c
+++ b/board/beagle/beagleplay/beagleplay.c
@@ -41,14 +41,6 @@ struct efi_capsule_update_info update_info = {
        .images = fw_images,
 };
 
-#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
-void set_dfu_alt_info(char *interface, char *devstr)
-{
-       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
-}
-#endif
-
 int board_init(void)
 {
        return 0;
diff --git a/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c 
b/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c
index e45cfd5d8a3..24363d21ab0 100644
--- a/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c
+++ b/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c
@@ -31,8 +31,6 @@ void set_dfu_alt_info(char *interface, char *devstr)
 {
        if (strcmp(interface, "ram") == 0)
                env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000");
-       else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
 }
 #endif
 
diff --git a/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c 
b/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c
index 94cf5b4361f..42442f26acc 100644
--- a/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c
+++ b/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c
@@ -38,8 +38,6 @@ void set_dfu_alt_info(char *interface, char *devstr)
 {
        if (strcmp(interface, "ram") == 0)
                env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000");
-       else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
 }
 #endif
 
diff --git a/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c 
b/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c
index f641db5a494..5223f1c8ab8 100644
--- a/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c
+++ b/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c
@@ -31,8 +31,6 @@ void set_dfu_alt_info(char *interface, char *devstr)
 {
        if (strcmp(interface, "ram") == 0)
                env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000");
-       else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
 }
 #endif
 
diff --git a/board/phytec/common/k3/board.c b/board/phytec/common/k3/board.c
index 9d833456810..58859f279f1 100644
--- a/board/phytec/common/k3/board.c
+++ b/board/phytec/common/k3/board.c
@@ -82,14 +82,6 @@ void configure_capsule_updates(void)
 }
 #endif
 
-#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
-void set_dfu_alt_info(char *interface, char *devstr)
-{
-       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
-}
-#endif
-
 #if IS_ENABLED(CONFIG_ENV_IS_IN_FAT) || IS_ENABLED(CONFIG_ENV_IS_IN_MMC)
 int mmc_get_env_dev(void)
 {
diff --git a/board/ti/am62px/evm.c b/board/ti/am62px/evm.c
index 75359fa1614..379d1a5b316 100644
--- a/board/ti/am62px/evm.c
+++ b/board/ti/am62px/evm.c
@@ -41,14 +41,6 @@ struct efi_capsule_update_info update_info = {
        .images = fw_images,
 };
 
-#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
-void set_dfu_alt_info(char *interface, char *devstr)
-{
-       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
-}
-#endif
-
 int board_init(void)
 {
        return 0;
diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
index 279ceba9554..3051a0a27a1 100644
--- a/board/ti/am62x/evm.c
+++ b/board/ti/am62x/evm.c
@@ -74,14 +74,6 @@ struct efi_capsule_update_info update_info = {
        .images = fw_images,
 };
 
-#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
-void set_dfu_alt_info(char *interface, char *devstr)
-{
-       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
-}
-#endif
-
 int board_init(void)
 {
        return 0;
diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c
index 6a17737d266..35fd30dbceb 100644
--- a/board/ti/am64x/evm.c
+++ b/board/ti/am64x/evm.c
@@ -54,14 +54,6 @@ struct efi_capsule_update_info update_info = {
        .images = fw_images,
 };
 
-#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
-void set_dfu_alt_info(char *interface, char *devstr)
-{
-       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
-}
-#endif
-
 int board_init(void)
 {
        return 0;
diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c
index 1fa78ff7b30..0525f6e6f97 100644
--- a/board/ti/j721e/evm.c
+++ b/board/ti/j721e/evm.c
@@ -65,14 +65,6 @@ struct efi_capsule_update_info update_info = {
        .images = fw_images,
 };
 
-#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
-void set_dfu_alt_info(char *interface, char *devstr)
-{
-       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
-}
-#endif
-
 int board_init(void)
 {
        return 0;
diff --git a/board/ti/j784s4/evm.c b/board/ti/j784s4/evm.c
index d317f3eccbb..c6e46b7ee0e 100644
--- a/board/ti/j784s4/evm.c
+++ b/board/ti/j784s4/evm.c
@@ -40,14 +40,6 @@ struct efi_capsule_update_info update_info = {
        .images = fw_images,
 };
 
-#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
-void set_dfu_alt_info(char *interface, char *devstr)
-{
-       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
-               env_set("dfu_alt_info", update_info.dfu_string);
-}
-#endif
-
 int board_init(void)
 {
        return 0;
diff --git a/board/xilinx/common/board.h b/board/xilinx/common/board.h
index 64d657673e9..cb86c4c5b91 100644
--- a/board/xilinx/common/board.h
+++ b/board/xilinx/common/board.h
@@ -18,4 +18,7 @@ bool board_detection(void);
 char *soc_name_decode(void);
 
 bool soc_detection(void);
+
+void configure_capsule_updates(void);
+
 #endif /* BOARD_XILINX_COMMON_BOARD_H */
diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c
index 2c387630a61..05530736751 100644
--- a/board/xilinx/versal/board.c
+++ b/board/xilinx/versal/board.c
@@ -281,6 +281,9 @@ int board_late_init(void)
 {
        int ret;
 
+       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
+               configure_capsule_updates();
+
        if (!(gd->flags & GD_FLG_ENV_DEFAULT)) {
                debug("Saved variables - Skipping\n");
                return 0;
@@ -357,8 +360,6 @@ enum env_location env_get_location(enum env_operation op, 
int prio)
 }
 #endif
 
-#if defined(CONFIG_SET_DFU_ALT_INFO)
-
 #define DFU_ALT_BUF_LEN                SZ_1K
 
 static void mtd_found_part(u32 *base, u32 *size)
@@ -386,7 +387,7 @@ static void mtd_found_part(u32 *base, u32 *size)
        }
 }
 
-void set_dfu_alt_info(char *interface, char *devstr)
+void configure_capsule_updates(void)
 {
        int bootseq = 0, len = 0;
        u32 multiboot = versal_multi_boot();
@@ -394,9 +395,6 @@ void set_dfu_alt_info(char *interface, char *devstr)
 
        ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN);
 
-       if (env_get("dfu_alt_info"))
-               return;
-
        memset(buf, 0, sizeof(buf));
 
        multiboot = env_get_hex("multiboot", multiboot);
@@ -437,9 +435,6 @@ void set_dfu_alt_info(char *interface, char *devstr)
                return;
        }
 
-       env_set("dfu_alt_info", buf);
-       puts("DFU alt info setting: done\n");
        update_info.dfu_string = strdup(buf);
        debug("Capsule DFU: %s\n", update_info.dfu_string);
 }
-#endif
diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c
index bd004b86a88..b1fd768a26c 100644
--- a/board/xilinx/zynq/board.c
+++ b/board/xilinx/zynq/board.c
@@ -53,6 +53,9 @@ int board_late_init(void)
        char *new_targets;
        char *env_targets;
 
+       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
+               configure_capsule_updates();
+
        if (!(gd->flags & GD_FLG_ENV_DEFAULT)) {
                debug("Saved variables - Skipping\n");
                return 0;
@@ -166,17 +169,12 @@ enum env_location env_get_location(enum env_operation op, 
int prio)
        }
 }
 
-#if defined(CONFIG_SET_DFU_ALT_INFO)
-
 #define DFU_ALT_BUF_LEN                SZ_1K
 
-void set_dfu_alt_info(char *interface, char *devstr)
+void configure_capsule_updates(void)
 {
        ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN);
 
-       if (env_get("dfu_alt_info"))
-               return;
-
        memset(buf, 0, sizeof(buf));
 
        switch ((zynq_slcr_get_boot_mode()) & ZYNQ_BM_MASK) {
@@ -198,9 +196,6 @@ void set_dfu_alt_info(char *interface, char *devstr)
                return;
        }
 
-       env_set("dfu_alt_info", buf);
-       puts("DFU alt info setting: done\n");
        update_info.dfu_string = strdup(buf);
        debug("Capsule DFU: %s\n", update_info.dfu_string);
 }
-#endif
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 8060d54428d..33205d4cf1d 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -527,6 +527,9 @@ int board_late_init(void)
        usb_ether_init();
 #endif
 
+       if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
+               configure_capsule_updates();
+
        multiboot = multi_boot();
        if (multiboot >= 0)
                env_set_hex("multiboot", multiboot);
@@ -632,8 +635,6 @@ enum env_location env_get_location(enum env_operation op, 
int prio)
 }
 #endif
 
-#if defined(CONFIG_SET_DFU_ALT_INFO)
-
 #define DFU_ALT_BUF_LEN                SZ_1K
 
 static void mtd_found_part(u32 *base, u32 *size)
@@ -661,15 +662,12 @@ static void mtd_found_part(u32 *base, u32 *size)
        }
 }
 
-void set_dfu_alt_info(char *interface, char *devstr)
+void configure_capsule_updates(void)
 {
        int multiboot, bootseq = 0, len = 0;
 
        ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN);
 
-       if (env_get("dfu_alt_info"))
-               return;
-
        memset(buf, 0, sizeof(buf));
 
        multiboot = multi_boot();
@@ -733,12 +731,9 @@ void set_dfu_alt_info(char *interface, char *devstr)
                return;
        }
 
-       env_set("dfu_alt_info", buf);
-       puts("DFU alt info setting: done\n");
        update_info.dfu_string = strdup(buf);
        debug("Capsule DFU: %s\n", update_info.dfu_string);
 }
-#endif
 
 #if defined(CONFIG_SPL_SPI_LOAD)
 unsigned int spl_spi_get_uboot_offs(struct spi_flash *flash)
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index d4f6b56afaa..1be11aed901 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -304,7 +304,6 @@ config EFI_CAPSULE_FIRMWARE_FIT
        depends on EFI_CAPSULE_FIRMWARE_MANAGEMENT
        select UPDATE_FIT
        select DFU
-       select SET_DFU_ALT_INFO
        select EFI_CAPSULE_FIRMWARE
        help
          Select this option if you want to enable firmware management protocol
@@ -316,7 +315,6 @@ config EFI_CAPSULE_FIRMWARE_RAW
        depends on SANDBOX || (!SANDBOX && !EFI_CAPSULE_FIRMWARE_FIT)
        select DFU_WRITE_ALT
        select DFU
-       select SET_DFU_ALT_INFO
        select EFI_CAPSULE_FIRMWARE
        help
          Select this option if you want to enable firmware management protocol
diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
index 0ffaf5c8f72..d44dc09813e 100644
--- a/lib/efi_loader/efi_firmware.c
+++ b/lib/efi_loader/efi_firmware.c
@@ -56,11 +56,6 @@ struct fmp_state {
        u32 last_attempt_status; /* not used */
 };
 
-__weak void set_dfu_alt_info(char *interface, char *devstr)
-{
-       env_set("dfu_alt_info", update_info.dfu_string);
-}
-
 /**
  * efi_firmware_get_image_type_id - get image_type_id
  * @image_index:       image index
-- 
2.34.1

Reply via email to