[PATCH] powerpc: Add of_find_property function
authorDave C Boutcher <sleddog@us.ibm.com>
Thu, 12 Jan 2006 22:09:29 +0000 (16:09 -0600)
committerPaul Mackerras <paulus@samba.org>
Fri, 13 Jan 2006 10:11:57 +0000 (21:11 +1100)
Add an of_find_property function that returns a struct property
given a property name.  Then change the get_property function to
use that routine internally.

Signed-off-by: Dave Boutcher <sleddog@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/prom.c
include/asm-powerpc/prom.h

index 70057b6..d50c8df 100644 (file)
@@ -1779,12 +1779,8 @@ static int __init prom_reconfig_setup(void)
 __initcall(prom_reconfig_setup);
 #endif
 
-/*
- * Find a property with a given name for a given node
- * and return the value.
- */
-unsigned char *get_property(struct device_node *np, const char *name,
-                           int *lenp)
+struct property *of_find_property(struct device_node *np, const char *name,
+                                 int *lenp)
 {
        struct property *pp;
 
@@ -1797,6 +1793,17 @@ unsigned char *get_property(struct device_node *np, const char *name,
                }
        read_unlock(&devtree_lock);
 
+       return pp;
+}
+
+/*
+ * Find a property with a given name for a given node
+ * and return the value.
+ */
+unsigned char *get_property(struct device_node *np, const char *name,
+                           int *lenp)
+{
+       struct property *pp = of_find_property(np,name,lenp);
        return pp ? pp->value : NULL;
 }
 EXPORT_SYMBOL(get_property);
index 25d8d59..5b2bd4e 100644 (file)
@@ -136,6 +136,9 @@ extern struct device_node *of_find_all_nodes(struct device_node *prev);
 extern struct device_node *of_get_parent(const struct device_node *node);
 extern struct device_node *of_get_next_child(const struct device_node *node,
                                             struct device_node *prev);
+extern struct property *of_find_property(struct device_node *np,
+                                        const char *name,
+                                        int *lenp);
 extern struct device_node *of_node_get(struct device_node *node);
 extern void of_node_put(struct device_node *node);