
On Tue, 10 Sept 2024 at 13:28, Jerome Forissier jerome.forissier@linaro.org wrote:
Fix link errors caused by missing Kconfig dependencies:
- DFU_OVER_USB compiles common/dfu.c which calls g_dnl_clear_detach()
which is implemented in drivers/usb/gadget/g_dnl.c which needs USB_GADGET_DOWNLOAD. Test case:
$ printf "CONFIG_USB_GADGET_DOWNLOAD=n\nCONFIG_USB_FUNCTION_FASTBOOT=n" \ >>configs/am62px_evm_a53_defconfig $ make am62px_evm_a53_defconfig $ make CROSS_COMPILE=aarch64-linux-gnu- [...] common/dfu.c:34:(.text.run_usb_dnl_gadget+0x68): undefined reference to `g_dnl_clear_detach [...]
- With the above fixed, the same build causes:
common/spl/spl_dfu.c:29:(.text.spl_dfu_cmd+0xb0): undefined reference to `run_usb_dnl_gadget'
This is because SPL_DFU compiles common/spl/spl_dfu.c which calls run_usb_dnl_gadget() which is implemented in common/dfu.c which needs DFU_OVER_USB.
Therefore add these dependencies to Kconfig.
Signed-off-by: Jerome Forissier jerome.forissier@linaro.org
drivers/dfu/Kconfig | 2 +- drivers/usb/gadget/Kconfig | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig index d034b501360..604386bb734 100644 --- a/drivers/dfu/Kconfig +++ b/drivers/dfu/Kconfig @@ -7,7 +7,7 @@ config DFU config DFU_OVER_USB bool select HASH
depends on USB_GADGET
depends on USB_GADGET_DOWNLOAD
config DFU_OVER_TFTP bool diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 03fe3bca197..9921d3e0a77 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -323,6 +323,7 @@ config SPL_DFU bool "Support DFU (Device Firmware Upgrade) in SPL" select SPL_HASH select SPL_DFU_NO_RESET
depends on DFU_OVER_USB depends on SPL_RAM_SUPPORT help This feature enables the DFU (Device Firmware Upgrade) in SPL with
-- 2.40.1
Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org