[PATCH] sunxi: avoid double vendor prefix when CONFIG_OF_UPSTREAM is enabled
Andre Przywara
andre.przywara at arm.com
Tue Jan 20 00:09:44 CET 2026
On Sun, 23 Nov 2025 22:43:46 +0200
Bohdan Chubuk <chbgdn at gmail.com> wrote:
Hi Bohdan,
thanks for the patch!
> When CONFIG_OF_UPSTREAM is enabled, the device tree name provided by SPL
> already includes the vendor directory (e.g., "allwinner/board-name").
>
> The existing logic in misc_init_r() unconditionally prepends "allwinner/"
> for ARM64 builds, resulting in an incorrect path like
> "allwinner/allwinner/board-name.dtb".
>
> This patch modifies the logic to only prepend the vendor prefix if
> CONFIG_OF_UPSTREAM is NOT enabled. This ensures compatibility with both
> legacy builds and the new upstream devicetree structure.
Weird, I thought we already fixed that.
Anyway, looks good to me, will take it. Just fixing up the one nit
below.
>
> Signed-off-by: Bohdan Chubuk <chbgdn at gmail.com>
> ---
> board/sunxi/board.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/board/sunxi/board.c b/board/sunxi/board.c
> index 2929bc17f08..c68b51d370d 100644
> --- a/board/sunxi/board.c
> +++ b/board/sunxi/board.c
> @@ -834,7 +834,10 @@ int misc_init_r(void)
> /* Set fdtfile to match the FIT configuration chosen in SPL. */
> spl_dt_name = get_spl_dt_name();
> if (spl_dt_name) {
> - char *prefix = IS_ENABLED(CONFIG_ARM64) ? "allwinner/" : "";
> + const char *prefix = "";
> +
> + if (IS_ENABLED(CONFIG_ARM64) && !IS_ENABLED(CONFIG_OF_UPSTREAM))
> + prefix = "allwinner/";
> char str[64];
We should keep variable declarations together, so moving this.
Will fix this while committing.
Cheers,
Andre
>
> snprintf(str, sizeof(str), "%s%s.dtb", prefix, spl_dt_name);
More information about the U-Boot
mailing list