*** PROBABLY SPAM *** [PATCH 01/12] oftree: add of_fix_tree()

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sun Dec 18 08:07:42 EST 2011


HI,

	what is the impact on the binary size??

Best Regards,
J.
On 11:30 Thu 15 Dec     , Sascha Hauer wrote:
> Currently we have of_get_fixed_tree() which assumes that
> there is a global variable holding a oftree. This seems
> not very flexible, so for now introduce a of_fix_tree()
> which takes an fdt_header as argument and walks the
> list of registered of fixup functions.
> 
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
>  common/oftree.c |   22 +++++++++++++++-------
>  include/of.h    |    1 +
>  2 files changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/common/oftree.c b/common/oftree.c
> index 2a2f464..a657d31 100644
> --- a/common/oftree.c
> +++ b/common/oftree.c
> @@ -293,20 +293,28 @@ int of_register_fixup(int (*fixup)(struct fdt_header *))
>  	return 0;
>  }
>  
> -struct fdt_header *of_get_fixed_tree(void)
> +int of_fix_tree(struct fdt_header *fdt)
>  {
>  	struct of_fixup *of_fixup;
>  	int ret;
>  
> -	if (!barebox_fdt)
> -		return NULL;
> -
>  	list_for_each_entry(of_fixup, &of_fixup_list, list) {
> -		ret = of_fixup->fixup(barebox_fdt);
> +		ret = of_fixup->fixup(fdt);
>  		if (ret)
> -			return NULL;
> +			return ret;
>  	}
>  
> -	return barebox_fdt;
> +	return 0;
>  }
>  
> +struct fdt_header *of_get_fixed_tree(void)
> +{
> +	int ret;
> +
> +	if (!barebox_fdt)
> +		return NULL;
> +	ret = of_fix_tree(barebox_fdt);
> +	if (ret)
> +		return NULL;
> +	return barebox_fdt;
> +}
> diff --git a/include/of.h b/include/of.h
> index c2661ef..609b3b5 100644
> --- a/include/of.h
> +++ b/include/of.h
> @@ -8,6 +8,7 @@ extern struct fdt_header *barebox_fdt;
>  int fdt_print(struct fdt_header *working_fdt, const char *pathp);
>  
>  struct fdt_header *of_get_fixed_tree(void);
> +int of_fix_tree(struct fdt_header *fdt);
>  int of_register_fixup(int (*fixup)(struct fdt_header *));
>  
>  int fdt_find_and_setprop(struct fdt_header *fdt, const char *node, const char *prop,
> -- 
> 1.7.7.3
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox



More information about the barebox mailing list