Re: [PATCH 2/6] Set DTSF_PLUGIN if needed when compiling from dtb

David Gibson <[email protected]> Thu, 21 Aug 2025 14:24:35 +1000
Newsgroups org.kernel.vger.devicetree-compiler
Message-ID <aKafg3Y4fzQ210JY@zatzit>
On Wed, Aug 20, 2025 at 03:11:28PM +0200, Uwe Kleine-König wrote:
> The need for the plugin flag is determined by the existence of __fixups__
> or __local_fixups__.
> 
> This is a bit simplifying because if __fixups__ or __local_fixups__
> exist but don't have properties, the plugin flag isn't needed. But in
> practise the test should be good enough such that this corner case
> doesn't matter.
> 
> Signed-off-by: Uwe Kleine-König <[email protected]>

Reviewed-by: David Gibson <[email protected]>


> ---
>  flattree.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/flattree.c b/flattree.c
> index 30e6de2044b2..f3b698c17e89 100644
> --- a/flattree.c
> +++ b/flattree.c
> @@ -807,6 +807,7 @@ struct dt_info *dt_from_blob(const char *fname)
>  	struct node *tree;
>  	uint32_t val;
>  	int flags = 0;
> +	unsigned int dtsflags = DTSF_V1;
>  
>  	f = srcfile_relative_open(fname, NULL);
>  
> @@ -919,5 +920,8 @@ struct dt_info *dt_from_blob(const char *fname)
>  
>  	fclose(f);
>  
> -	return build_dt_info(DTSF_V1, reservelist, tree, boot_cpuid_phys);
> +	if (get_subnode(tree, "__fixups__") || get_subnode(tree, "__local_fixups__"))
> +		dtsflags |= DTSF_PLUGIN;
> +
> +	return build_dt_info(dtsflags, reservelist, tree, boot_cpuid_phys);
>  }

-- 
David Gibson (he or they)	| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you, not the other way
				| around.
http://www.ozlabs.org/~dgibson
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEO+dNsU4E3yXUXRK2zQJF27ox2GcFAmimn4IACgkQzQJF27ox
2Gd6EQ/5AeE/CWg3fXFgTHX1zTYwybEiXR4WbrEs2TWlkSfwme9RUO7feg1u7ode
YerSYM5iZsKcUUu4e59CFOIDNNKCGGNlNrUoSYprvj8CByhKF8YIoxQRK4vV4a1q
1dqFzOl4sLlgZaUejukHCmIxu8Nx6+IfYiUCYY9T4wEbNncju/Qas5iWwbJueAzu
FJcqKGXMLzIy3NTw08THBo4Bgau1qXOtOQwaKYDuZUhz78WjsAm2KBl2pMNQAPBE
Y4VqgLGZyzqEaDjI0qPnye+bbCU4frcEIm6B2OR6kcE54+6glIFBj+W4hcprxQ1A
tBMIx/yFDrtQXARgALiqtTBYnq326vHd3+O7scGdFnLRRBOn0wQXyxMJy3cSbjEI
/9htOIBN1EsL2VixisBr1FPa6CIIsW095OOQ57FYyJkqyyx5dQSl8zqL9AdDfYpQ
/bNgF1SD+EDu6dcjCNHbBnzNWLhu07G+K1ehmOdhRrtidJFE1oHv4b0G7MuHEg3E
4UtA3vmZKrgSQFskekebgjcpEjAnzN753ZCrxURKF/hB5fqixGMzidJTEy6t14NG
dKPDDFL9SP9rw4WUDikqIksGDRrsuWOLPtOoci1r5XAGxQmSdZKTHK4gXzGCiM0E
/ghNJXfFqpCJxBj0aYhwjpG8MLi/vbc2pmGScEt4dvGFoK5I/Ng=
=05bk
-----END PGP SIGNATURE-----