summaryrefslogtreecommitdiffstats
path: root/include/libfdt.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-02-22 22:55:39 -0700
committerTom Rini <trini@konsulko.com>2016-03-14 14:19:11 -0400
commitf8a2d7a4162d2c8ca6adbb1fe0ef7d2a9765c923 (patch)
tree34545d4396f01a984035300d3891b453466205d0 /include/libfdt.h
parentcc7a64447bc3e90a8133b2fce98d7526089a7033 (diff)
downloadu-boot-f8a2d7a4162d2c8ca6adbb1fe0ef7d2a9765c923.tar.gz
u-boot-f8a2d7a4162d2c8ca6adbb1fe0ef7d2a9765c923.tar.xz
u-boot-f8a2d7a4162d2c8ca6adbb1fe0ef7d2a9765c923.zip
libfdt: Add a function to write a property placeholder
The existing function to add a new property to a tree being built requires that the entire contents of the new property be passed in. For some applications it is more convenient to be able to add the property contents later, perhaps by reading from a file. This avoids double-buffering of the contents. Add a new function to support this and adust the existing fdt_property() to use it. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/libfdt.h')
-rw-r--r--include/libfdt.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/libfdt.h b/include/libfdt.h
index e48c21aced..74b1d149c2 100644
--- a/include/libfdt.h
+++ b/include/libfdt.h
@@ -1181,6 +1181,22 @@ static inline int fdt_property_cell(void *fdt, const char *name, uint32_t val)
{
return fdt_property_u32(fdt, name, val);
}
+
+/**
+ * fdt_property_placeholder - add a new property and return a ptr to its value
+ *
+ * @fdt: pointer to the device tree blob
+ * @name: name of property to add
+ * @len: length of property value in bytes
+ * @valp: returns a pointer to where where the value should be placed
+ *
+ * returns:
+ * 0, on success
+ * -FDT_ERR_BADMAGIC,
+ * -FDT_ERR_NOSPACE, standard meanings
+ */
+int fdt_property_placeholder(void *fdt, const char *name, int len, void **valp);
+
#define fdt_property_string(fdt, name, str) \
fdt_property(fdt, name, str, strlen(str)+1)
int fdt_end_node(void *fdt);