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);

