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

Kumar Gala
2010-05-13T17:46:25Z

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@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