aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2006-03-08 10:47:00 -0500
committerPaul Mackerras <paulus@samba.org>2006-03-16 21:21:09 -0500
commite33852228f74b8ccbed8595083bb725b70902ed7 (patch)
treea73484a589b2d2f20d82f591d823b98a021cd4b1
parentd116fe5aeafd8226712d2de9c69428725ca74474 (diff)
[PATCH] powerpc: add for_each_node_by_foo helpers
Typical use for of_find_node_by_name and of_find_node_by_type is to iterate over all nodes of a given type/name. Add a helper macro to do that (in spirit of the list_for_each* macros). Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--include/asm-powerpc/prom.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-powerpc/prom.h b/include/asm-powerpc/prom.h
index cbd297f44cce..782e13a070a1 100644
--- a/include/asm-powerpc/prom.h
+++ b/include/asm-powerpc/prom.h
@@ -126,8 +126,14 @@ extern struct device_node *find_all_nodes(void);
126/* New style node lookup */ 126/* New style node lookup */
127extern struct device_node *of_find_node_by_name(struct device_node *from, 127extern struct device_node *of_find_node_by_name(struct device_node *from,
128 const char *name); 128 const char *name);
129#define for_each_node_by_name(dn, name) \
130 for (dn = of_find_node_by_name(NULL, name); dn; \
131 dn = of_find_node_by_name(dn, name))
129extern struct device_node *of_find_node_by_type(struct device_node *from, 132extern struct device_node *of_find_node_by_type(struct device_node *from,
130 const char *type); 133 const char *type);
134#define for_each_node_by_type(dn, type) \
135 for (dn = of_find_node_by_type(NULL, type); dn; \
136 dn = of_find_node_by_type(dn, type))
131extern struct device_node *of_find_compatible_node(struct device_node *from, 137extern struct device_node *of_find_compatible_node(struct device_node *from,
132 const char *type, const char *compat); 138 const char *type, const char *compat);
133extern struct device_node *of_find_node_by_path(const char *path); 139extern struct device_node *of_find_node_by_path(const char *path);