On Tue, 2012-06-19 at 21:14 +0200, Alexander Graf wrote: > Phandles are the fancy device tree name for "pointer to another node". > To create a phandle property, we most likely want to reference to the > node we're pointing to by its path. So create a helper that allows > us to do so. > > Signed-off-by: Alexander Graf <ag...@suse.de> >
Reviewed-by: Peter Crosthwaite <peter.crosthwa...@petalogix.com> There are consistency issues with the whole nofail/fail discussion but as Alex pointed out, thats a battle for another day. > --- > > v2 -> v3: > > - rename "string" to target_node_path > --- > device_tree.c | 8 ++++++++ > device_tree.h | 3 +++ > 2 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/device_tree.c b/device_tree.c > index 94a239e..2905f9a 100644 > --- a/device_tree.c > +++ b/device_tree.c > @@ -132,6 +132,14 @@ int qemu_devtree_setprop_string(void *fdt, const char > *node_path, > return r; > } > > +int qemu_devtree_setprop_phandle(void *fdt, const char *node_path, > + const char *property, > + const char *target_node_path) > +{ > + uint32_t phandle = fdt_get_phandle(fdt, findnode_nofail(fdt, > target_node_path)); > + return qemu_devtree_setprop_cell(fdt, node_path, property, phandle); > +} > + > int qemu_devtree_nop_node(void *fdt, const char *node_path) > { > int r; > diff --git a/device_tree.h b/device_tree.h > index 1e671e2..754bd2b 100644 > --- a/device_tree.h > +++ b/device_tree.h > @@ -22,6 +22,9 @@ int qemu_devtree_setprop_cell(void *fdt, const char > *node_path, > const char *property, uint32_t val); > int qemu_devtree_setprop_string(void *fdt, const char *node_path, > const char *property, const char *string); > +int qemu_devtree_setprop_phandle(void *fdt, const char *node_path, > + const char *property, > + const char *target_node_path); > int qemu_devtree_nop_node(void *fdt, const char *node_path); > int qemu_devtree_add_subnode(void *fdt, const char *name); >