aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/device_tree.h
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2012-03-22 14:26:45 +0000
committerDavid Vrabel <david.vrabel@citrix.com>2012-03-22 14:26:45 +0000
commit9cf4a9a467171c8a2c3d97c2bfadb1bc8b15a3d6 (patch)
treefd1c0a95ab13aaf23d06edf9253b54eb2fb7283d /xen/include/xen/device_tree.h
parent1140ce1534c70bcc1b87d6f9caa4eebead87e5de (diff)
downloadxen-9cf4a9a467171c8a2c3d97c2bfadb1bc8b15a3d6.tar.gz
xen-9cf4a9a467171c8a2c3d97c2bfadb1bc8b15a3d6.tar.bz2
xen-9cf4a9a467171c8a2c3d97c2bfadb1bc8b15a3d6.zip
device tree: add device_tree_for_each_node()
Add device_tree_for_each_node() to iterate over all nodes in a flat device tree. Use this in device_tree_early_init(). Signed-off-by: David Vrabel <david.vrabel@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'xen/include/xen/device_tree.h')
-rw-r--r--xen/include/xen/device_tree.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 28a3deef59..505f3e326e 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -28,10 +28,18 @@ struct dt_early_info {
struct dt_mem_info mem;
};
+typedef int (*device_tree_node_func)(const void *fdt,
+ int node, const char *name, int depth,
+ u32 address_cells, u32 size_cells,
+ void *data);
+
extern struct dt_early_info early_info;
extern void *device_tree_flattened;
size_t device_tree_early_init(const void *fdt);
paddr_t device_tree_get_xen_paddr(void);
+int device_tree_for_each_node(const void *fdt,
+ device_tree_node_func func, void *data);
+
#endif