diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-06-21 16:33:54 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-06-23 23:15:04 -0700 |
commit | aaf7cec2769942035985716452107fc5ba0b11f6 (patch) | |
tree | 4f4bc5278ef41e016b97b6860d30fa773db7fee2 /arch | |
parent | 372b07bb5a13f8a1b8a3ce49cd76d39a79dbd3bd (diff) | |
download | linux-aaf7cec2769942035985716452107fc5ba0b11f6.tar.gz linux-aaf7cec2769942035985716452107fc5ba0b11f6.tar.bz2 linux-aaf7cec2769942035985716452107fc5ba0b11f6.zip |
[SPARC64]: Add of_find_node_by_{name,type}().
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sparc64/kernel/prom.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c index c99b7aae19df..fd46e94ce06b 100644 --- a/arch/sparc64/kernel/prom.c +++ b/arch/sparc64/kernel/prom.c @@ -63,6 +63,32 @@ struct device_node *of_find_node_by_path(const char *path) return np; } +struct device_node *of_find_node_by_name(struct device_node *from, + const char *name) +{ + struct device_node *np; + + np = from ? from->allnext : allnodes; + for (; np != NULL; np = np->allnext) + if (np->name != NULL && strcmp(np->name, name) == 0) + break; + + return np; +} + +struct device_node *of_find_node_by_type(struct device_node *from, + const char *type) +{ + struct device_node *np; + + np = from ? from->allnext : allnodes; + for (; np != 0; np = np->allnext) + if (np->type != 0 && strcmp(np->type, type) == 0) + break; + + return np; +} + struct property *of_find_property(struct device_node *np, const char *name, int *lenp) { |