[U-Boot] [PATCH 2/3] libfdt: make fdt_increase_size() available to everyone

Kumar Gala galak at kernel.crashing.org
Thu May 13 19:46:25 CEST 2010


On May 10, 2010, at 4:26 PM, Timur Tabi wrote:

> The function fdt_increase_size() increases the size of the device tree by the
> given amount.  This is useful for any code that wants to add a node or large
> property, to avoid the possibility of running out of space.  It's much smarter
> to have U-Boot increase the size of device tree when it knows it's going to
> add data, instead of hoping that the DTS was compiled with the right -p value.
> 
> Signed-off-by: Timur Tabi <timur at freescale.com>
> ---

Jerry, any comments on this?

- k

> 
> common/fdt_support.c  |   20 ++++++++++----------
> include/fdt_support.h |    1 +
> 2 files changed, 11 insertions(+), 10 deletions(-)
> 
> diff --git a/common/fdt_support.c b/common/fdt_support.c
> index b6f252a..01d635b 100644
> --- a/common/fdt_support.c
> +++ b/common/fdt_support.c
> @@ -645,6 +645,16 @@ int fdt_resize(void *blob)
> 	return actualsize;
> }
> 
> +int fdt_increase_size(void *fdt, int add_len)
> +{
> +	int newlen;
> +
> +	newlen = fdt_totalsize(fdt) + add_len;
> +
> +	/* Open in place with a new len */
> +	return fdt_open_into(fdt, fdt, newlen);
> +}
> +
> #ifdef CONFIG_PCI
> #define CONFIG_SYS_PCI_NR_INBOUND_WIN 4
> 
> @@ -792,16 +802,6 @@ int fdt_del_subnodes(const void *blob, int parent_offset)
> 	return 0;
> }
> 
> -int fdt_increase_size(void *fdt, int add_len)
> -{
> -	int newlen;
> -
> -	newlen = fdt_totalsize(fdt) + add_len;
> -
> -	/* Open in place with a new len */
> -	return fdt_open_into(fdt, fdt, newlen);
> -}
> -
> int fdt_del_partitions(void *blob, int parent_offset)
> {
> 	const void *prop;
> diff --git a/include/fdt_support.h b/include/fdt_support.h
> index 9a453af..d70627d 100644
> --- a/include/fdt_support.h
> +++ b/include/fdt_support.h
> @@ -78,6 +78,7 @@ void ft_pci_setup(void *blob, bd_t *bd);
> 
> void set_working_fdt_addr(void *addr);
> int fdt_resize(void *blob);
> +int fdt_increase_size(void *fdt, int add_len);
> 
> int fdt_fixup_nor_flash_size(void *blob, int cs, u32 size);
> 
> -- 
> 1.6.5
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot



More information about the U-Boot mailing list