diff options
author | Eric Auger <eric.auger@linaro.org> | 2016-02-19 09:42:30 -0700 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2016-02-19 09:42:30 -0700 |
commit | 6d79566ae6592056bbba106e6544a5746c741f15 (patch) | |
tree | 007c41cb1c7156f53e0b52bad723fe87e7bfb7b6 /include/sysemu/device_tree.h | |
parent | 60e43e987c3d188855dc7e95ff4979be78db3574 (diff) | |
download | qemu-6d79566ae6592056bbba106e6544a5746c741f15.zip qemu-6d79566ae6592056bbba106e6544a5746c741f15.tar.gz qemu-6d79566ae6592056bbba106e6544a5746c741f15.tar.bz2 |
device_tree: introduce qemu_fdt_node_path
This new helper routine returns a NULL terminated array of
node paths matching a node name and a compat string.
Signed-off-by: Eric Auger <eric.auger@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'include/sysemu/device_tree.h')
-rw-r--r-- | include/sysemu/device_tree.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/sysemu/device_tree.h b/include/sysemu/device_tree.h index 62093ba..552df21 100644 --- a/include/sysemu/device_tree.h +++ b/include/sysemu/device_tree.h @@ -25,6 +25,24 @@ void *load_device_tree(const char *filename_path, int *sizep); void *load_device_tree_from_sysfs(void); #endif +/** + * qemu_fdt_node_path: return the paths of nodes matching a given + * name and compat string + * @fdt: pointer to the dt blob + * @name: node name + * @compat: compatibility string + * @errp: handle to an error object + * + * returns a newly allocated NULL-terminated array of node paths. + * Use g_strfreev() to free it. If one or more nodes were found, the + * array contains the path of each node and the last element equals to + * NULL. If there is no error but no matching node was found, the + * returned array contains a single element equal to NULL. If an error + * was encountered when parsing the blob, the function returns NULL + */ +char **qemu_fdt_node_path(void *fdt, const char *name, char *compat, + Error **errp); + int qemu_fdt_setprop(void *fdt, const char *node_path, const char *property, const void *val, int size); int qemu_fdt_setprop_cell(void *fdt, const char *node_path, |