* [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU
@ 2026-03-10 16:26 Tom Rini
2026-03-12 9:10 ` Mattijs Korpershoek
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Tom Rini @ 2026-03-10 16:26 UTC (permalink / raw)
To: u-boot
Cc: Lukasz Majewski, Mattijs Korpershoek, Heinrich Schuchardt,
Ilias Apalodimas
The DFU_WRITE_ALT symbol is used both directly and indirectly (via
UPDATE_COMMON) for EFI capsule updates (FIT or raw), but does not depend
on DFU itself. Move this symbol outside of "if DFU" to remove a Kconfig
dependency problem.
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Cc: Lukasz Majewski <lukma@denx.de>
Cc: Mattijs Korpershoek <mkorpershoek@kernel.org>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
---
drivers/dfu/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
index 2cf4289b4486..962bda40ad2d 100644
--- a/drivers/dfu/Kconfig
+++ b/drivers/dfu/Kconfig
@@ -13,10 +13,10 @@ config DFU_OVER_TFTP
bool
depends on NET
-if DFU
config DFU_WRITE_ALT
bool
+if DFU
config DFU_TFTP
bool "DFU via TFTP"
depends on NETDEVICES
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU
2026-03-10 16:26 [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU Tom Rini
@ 2026-03-12 9:10 ` Mattijs Korpershoek
2026-03-12 22:58 ` Tom Rini
2026-03-13 12:56 ` Ilias Apalodimas
2026-03-16 9:39 ` Mattijs Korpershoek
2 siblings, 1 reply; 6+ messages in thread
From: Mattijs Korpershoek @ 2026-03-12 9:10 UTC (permalink / raw)
To: Tom Rini, u-boot
Cc: Lukasz Majewski, Mattijs Korpershoek, Heinrich Schuchardt,
Ilias Apalodimas
Hi Tom,
Thank you for the patch.
On Tue, Mar 10, 2026 at 10:26, Tom Rini <trini@konsulko.com> wrote:
> The DFU_WRITE_ALT symbol is used both directly and indirectly (via
> UPDATE_COMMON) for EFI capsule updates (FIT or raw), but does not depend
> on DFU itself. Move this symbol outside of "if DFU" to remove a Kconfig
> dependency problem.
Looking at drivers/dfu/dfu_alt.c both dfu_write_by_name() and
dfu_write_by_alt() seem to rely on functions from drivers/dfu/dfu.c such
as dfu_init_env_entities(), dfu_get_entity() and more.
Looking at UPDATE_COMMON, I see:
config UPDATE_COMMON
bool
select DFU_WRITE_ALT
imply CMD_TFTPBOOT
And if we check the code in common/update.c, we can see that
dfu_write_by_name() is called.
So fit_update() calls
dfu_write_by_name() which calls
dfu_init_env_entities() which might no longer be defined when
applying this patch.
I'm not sure how is this supposed to work. Do we have to stub
dfu_init_env_entities() ?
>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
> Cc: Lukasz Majewski <lukma@denx.de>
> Cc: Mattijs Korpershoek <mkorpershoek@kernel.org>
> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> ---
> drivers/dfu/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
> index 2cf4289b4486..962bda40ad2d 100644
> --- a/drivers/dfu/Kconfig
> +++ b/drivers/dfu/Kconfig
> @@ -13,10 +13,10 @@ config DFU_OVER_TFTP
> bool
> depends on NET
>
> -if DFU
> config DFU_WRITE_ALT
> bool
>
> +if DFU
> config DFU_TFTP
> bool "DFU via TFTP"
> depends on NETDEVICES
> --
> 2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU
2026-03-12 9:10 ` Mattijs Korpershoek
@ 2026-03-12 22:58 ` Tom Rini
2026-03-13 8:59 ` Mattijs Korpershoek
0 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2026-03-12 22:58 UTC (permalink / raw)
To: Mattijs Korpershoek
Cc: u-boot, Lukasz Majewski, Heinrich Schuchardt, Ilias Apalodimas
[-- Attachment #1: Type: text/plain, Size: 1480 bytes --]
On Thu, Mar 12, 2026 at 10:10:06AM +0100, Mattijs Korpershoek wrote:
> Hi Tom,
>
> Thank you for the patch.
>
> On Tue, Mar 10, 2026 at 10:26, Tom Rini <trini@konsulko.com> wrote:
>
> > The DFU_WRITE_ALT symbol is used both directly and indirectly (via
> > UPDATE_COMMON) for EFI capsule updates (FIT or raw), but does not depend
> > on DFU itself. Move this symbol outside of "if DFU" to remove a Kconfig
> > dependency problem.
>
> Looking at drivers/dfu/dfu_alt.c both dfu_write_by_name() and
> dfu_write_by_alt() seem to rely on functions from drivers/dfu/dfu.c such
> as dfu_init_env_entities(), dfu_get_entity() and more.
>
> Looking at UPDATE_COMMON, I see:
> config UPDATE_COMMON
> bool
> select DFU_WRITE_ALT
> imply CMD_TFTPBOOT
>
> And if we check the code in common/update.c, we can see that
> dfu_write_by_name() is called.
>
> So fit_update() calls
> dfu_write_by_name() which calls
> dfu_init_env_entities() which might no longer be defined when
> applying this patch.
>
> I'm not sure how is this supposed to work. Do we have to stub
> dfu_init_env_entities() ?
So, to me the challenge is that DFU_TFTP, UPDATE_FIT and UPDATE_TFTP all
are the three users of UPDATE_COMMON and so DFU_WRITE_ALT. The first two
depend on DFU, but the latter does not. And there's nothing in-tree
using it, either (but it does compile I believe, or allyesconfig would
have failed).
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU
2026-03-12 22:58 ` Tom Rini
@ 2026-03-13 8:59 ` Mattijs Korpershoek
0 siblings, 0 replies; 6+ messages in thread
From: Mattijs Korpershoek @ 2026-03-13 8:59 UTC (permalink / raw)
To: Tom Rini, Mattijs Korpershoek
Cc: u-boot, Lukasz Majewski, Heinrich Schuchardt, Ilias Apalodimas
Hi Tom,
On Thu, Mar 12, 2026 at 16:58, Tom Rini <trini@konsulko.com> wrote:
> On Thu, Mar 12, 2026 at 10:10:06AM +0100, Mattijs Korpershoek wrote:
>> Hi Tom,
>>
>> Thank you for the patch.
>>
>> On Tue, Mar 10, 2026 at 10:26, Tom Rini <trini@konsulko.com> wrote:
>>
>> > The DFU_WRITE_ALT symbol is used both directly and indirectly (via
>> > UPDATE_COMMON) for EFI capsule updates (FIT or raw), but does not depend
>> > on DFU itself. Move this symbol outside of "if DFU" to remove a Kconfig
>> > dependency problem.
>>
>> Looking at drivers/dfu/dfu_alt.c both dfu_write_by_name() and
>> dfu_write_by_alt() seem to rely on functions from drivers/dfu/dfu.c such
>> as dfu_init_env_entities(), dfu_get_entity() and more.
>>
>> Looking at UPDATE_COMMON, I see:
>> config UPDATE_COMMON
>> bool
>> select DFU_WRITE_ALT
>> imply CMD_TFTPBOOT
>>
>> And if we check the code in common/update.c, we can see that
>> dfu_write_by_name() is called.
>>
>> So fit_update() calls
>> dfu_write_by_name() which calls
>> dfu_init_env_entities() which might no longer be defined when
>> applying this patch.
>>
>> I'm not sure how is this supposed to work. Do we have to stub
>> dfu_init_env_entities() ?
>
> So, to me the challenge is that DFU_TFTP, UPDATE_FIT and UPDATE_TFTP all
> are the three users of UPDATE_COMMON and so DFU_WRITE_ALT. The first two
> depend on DFU, but the latter does not. And there's nothing in-tree
> using it, either (but it does compile I believe, or allyesconfig would
> have failed).
I see, thank you for explaining. I've done some testing on sandbox with
the following diff:
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index 280f9c9cfe77..5bc114bad064 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -16,9 +16,6 @@ CONFIG_EFI_SECURE_BOOT=y
CONFIG_EFI_RT_VOLATILE_STORE=y
CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
CONFIG_EFI_CAPSULE_ON_DISK=y
-CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
-CONFIG_EFI_CAPSULE_AUTHENTICATE=y
-CONFIG_EFI_CAPSULE_CRT_FILE="board/sandbox/capsule_pub_key_good.crt"
CONFIG_BUTTON_CMD=y
CONFIG_FIT=y
CONFIG_FIT_CIPHER=y
@@ -50,6 +47,7 @@ CONFIG_LOGF_FUNC=y
CONFIG_DISPLAY_BOARDINFO_LATE=y
# CONFIG_BOARD_INIT is not set
CONFIG_STACKPROTECTOR=y
+CONFIG_UPDATE_TFTP=y
CONFIG_ANDROID_AB=y
CONFIG_CMD_CPU=y
CONFIG_CMD_UFETCH=y
@@ -201,7 +199,6 @@ CONFIG_AES_SOFTWARE=y
CONFIG_DM_DEMO=y
CONFIG_DM_DEMO_SIMPLE=y
CONFIG_DM_DEMO_SHAPE=y
-CONFIG_DFU_SF=y
CONFIG_DMA=y
CONFIG_DMA_CHANNELS=y
CONFIG_SANDBOX_DMA=y
@@ -362,7 +359,6 @@ CONFIG_CONSOLE_ROTATION=y
CONFIG_CONSOLE_TRUETYPE=y
CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
CONFIG_I2C_EDID=y
-CONFIG_VIDEO_SANDBOX_SDL=y
CONFIG_VIDEO_BRIDGE=y
CONFIG_VIDEO_BRIDGE_LVDS_CODEC=y
CONFIG_VIDEO_DSI_HOST_SANDBOX=y
We indeed have:
$ grep -e CONFIG_DFU -e DFU_TFTP -e UPDATE_FIT -e UPDATE_TFTP .config
CONFIG_UPDATE_TFTP=y
CONFIG_UPDATE_TFTP_CNT_MAX=0
CONFIG_UPDATE_TFTP_MSEC_MAX=100
CONFIG_DFU_WRITE_ALT=y
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
>
> --
> Tom
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU
2026-03-10 16:26 [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU Tom Rini
2026-03-12 9:10 ` Mattijs Korpershoek
@ 2026-03-13 12:56 ` Ilias Apalodimas
2026-03-16 9:39 ` Mattijs Korpershoek
2 siblings, 0 replies; 6+ messages in thread
From: Ilias Apalodimas @ 2026-03-13 12:56 UTC (permalink / raw)
To: Tom Rini
Cc: u-boot, Lukasz Majewski, Mattijs Korpershoek, Heinrich Schuchardt
On Tue, 10 Mar 2026 at 18:26, Tom Rini <trini@konsulko.com> wrote:
>
> The DFU_WRITE_ALT symbol is used both directly and indirectly (via
> UPDATE_COMMON) for EFI capsule updates (FIT or raw), but does not depend
> on DFU itself. Move this symbol outside of "if DFU" to remove a Kconfig
> dependency problem.
>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
> Cc: Lukasz Majewski <lukma@denx.de>
> Cc: Mattijs Korpershoek <mkorpershoek@kernel.org>
> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> ---
> drivers/dfu/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
>
> diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
> index 2cf4289b4486..962bda40ad2d 100644
> --- a/drivers/dfu/Kconfig
> +++ b/drivers/dfu/Kconfig
> @@ -13,10 +13,10 @@ config DFU_OVER_TFTP
> bool
> depends on NET
>
> -if DFU
> config DFU_WRITE_ALT
> bool
>
> +if DFU
> config DFU_TFTP
> bool "DFU via TFTP"
> depends on NETDEVICES
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU
2026-03-10 16:26 [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU Tom Rini
2026-03-12 9:10 ` Mattijs Korpershoek
2026-03-13 12:56 ` Ilias Apalodimas
@ 2026-03-16 9:39 ` Mattijs Korpershoek
2 siblings, 0 replies; 6+ messages in thread
From: Mattijs Korpershoek @ 2026-03-16 9:39 UTC (permalink / raw)
To: u-boot, Tom Rini; +Cc: Lukasz Majewski, Heinrich Schuchardt, Ilias Apalodimas
Hi,
On Tue, 10 Mar 2026 10:26:21 -0600, Tom Rini wrote:
> The DFU_WRITE_ALT symbol is used both directly and indirectly (via
> UPDATE_COMMON) for EFI capsule updates (FIT or raw), but does not depend
> on DFU itself. Move this symbol outside of "if DFU" to remove a Kconfig
> dependency problem.
>
>
Thanks, Applied to https://source.denx.de/u-boot/custodians/u-boot-dfu (u-boot-dfu)
[1/1] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU
https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/4b77b07811c2fb48b4a65ae14c387540ae6b8998
--
Mattijs
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-03-16 9:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-10 16:26 [PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU Tom Rini
2026-03-12 9:10 ` Mattijs Korpershoek
2026-03-12 22:58 ` Tom Rini
2026-03-13 8:59 ` Mattijs Korpershoek
2026-03-13 12:56 ` Ilias Apalodimas
2026-03-16 9:39 ` Mattijs Korpershoek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox