aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave C Boutcher <sleddog@us.ibm.com>2006-01-12 17:09:29 -0500
committerPaul Mackerras <paulus@samba.org>2006-01-13 05:11:57 -0500
commitecaa8b0ff326920c8a89d748382e1c1d8812676c (patch)
tree49027f063fee21f6b03f4b2ccd5c0b80b0aa4440
parent088186ded490ced80758200cf8f906ed741df306 (diff)
[PATCH] powerpc: Add of_find_property function
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>
-rw-r--r--arch/powerpc/kernel/prom.c19
-rw-r--r--include/asm-powerpc/prom.h3
2 files changed, 16 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 70057b63de21..d50c8df0183e 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -1779,12 +1779,8 @@ static int __init prom_reconfig_setup(void)
1779__initcall(prom_reconfig_setup); 1779__initcall(prom_reconfig_setup);
1780#endif 1780#endif
1781 1781
1782/* 1782struct property *of_find_property(struct device_node *np, const char *name,
1783 * Find a property with a given name for a given node 1783 int *lenp)
1784 * and return the value.
1785 */
1786unsigned char *get_property(struct device_node *np, const char *name,
1787 int *lenp)
1788{ 1784{
1789 struct property *pp; 1785 struct property *pp;
1790 1786
@@ -1797,6 +1793,17 @@ unsigned char *get_property(struct device_node *np, const char *name,
1797 } 1793 }
1798 read_unlock(&devtree_lock); 1794 read_unlock(&devtree_lock);
1799 1795
1796 return pp;
1797}
1798
1799/*
1800 * Find a property with a given name for a given node
1801 * and return the value.
1802 */
1803unsigned char *get_property(struct device_node *np, const char *name,
1804 int *lenp)
1805{
1806 struct property *pp = of_find_property(np,name,lenp);
1800 return pp ? pp->value : NULL; 1807 return pp ? pp->value : NULL;
1801} 1808}
1802EXPORT_SYMBOL(get_property); 1809EXPORT_SYMBOL(get_property);
diff --git a/include/asm-powerpc/prom.h b/include/asm-powerpc/prom.h
index 25d8d5974d19..5b2bd4eefb01 100644
--- a/include/asm-powerpc/prom.h
+++ b/include/asm-powerpc/prom.h
@@ -136,6 +136,9 @@ extern struct device_node *of_find_all_nodes(struct device_node *prev);
136extern struct device_node *of_get_parent(const struct device_node *node); 136extern struct device_node *of_get_parent(const struct device_node *node);
137extern struct device_node *of_get_next_child(const struct device_node *node, 137extern struct device_node *of_get_next_child(const struct device_node *node,
138 struct device_node *prev); 138 struct device_node *prev);
139extern struct property *of_find_property(struct device_node *np,
140 const char *name,
141 int *lenp);
139extern struct device_node *of_node_get(struct device_node *node); 142extern struct device_node *of_node_get(struct device_node *node);
140extern void of_node_put(struct device_node *node); 143extern void of_node_put(struct device_node *node);
141 144