[PATCH] dfu: Make the DFU_WRITE_ALT symbol available outside of DFU

Tom Rini trini at konsulko.com
Thu Mar 12 23:58:19 CET 2026


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 at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260312/6cf6352d/attachment.sig>


More information about the U-Boot mailing list