On 19/04/13 01:56, David Gibson wrote: > On Mon, Apr 15, 2013 at 07:36:50AM +0100, Srinivas KANDAGATLA wrote: >> From: Srinivas Kandagatla <[email protected]> >> >> If you try to insert a new node or extend a property with large value, >> using fdtput you will notice that it always fails. >> >> example: >> fdtput -v -p -ts ./tst.dtb "/node-1" "property-1" "value-1 >> Error at 'node-1': FDT_ERR_NOSPACE >> >> or >> >> fdtput -v -c ./tst.dtb "/node-1" >> Error at 'node-1': FDT_ERR_NOSPACE >> >> or >> >> fdtput -v -ts ./tst.dtb "/node" "property" "very big value" >> Decoding value: >> string: 'very big value' >> Value size 15 >> Error at 'property': FDT_ERR_NOSPACE >> >> All these error are returned from libfdt, as the size of the fdt passed >> has no space to accomdate these new properties. >> >> This patch adds realloc functions in fdtput to allocate new space in fdt >> when it detects a shortage in space for new value or node. With this >> patch, fdtput can insert a new node or property or extend a property >> with new value greater than original size. >> >> Without this patch fdtput tool complains with FDT_ERR_NOSPACE when we >> try to add a node/property or extend the value of a property. >> >> Signed-off-by: Srinivas Kandagatla <[email protected]> > Your realloc functions could overestimate the required size in some > cases, so you should put an fdt_pack() before you write the final blob > out to clean up any extra padding. Thanks for the comments, I will send v2 patch considering your comments. --srini > > Other than that, looks good. >
_______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
