On Sun, 23 Nov 2025 22:43:46 +0200
Bohdan Chubuk <[email protected]> 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 <[email protected]>
> ---
>  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);

Reply via email to