Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 62180
b: refs/heads/master
c: 581b605
h: refs/heads/master
v: v3
  • Loading branch information
Stephen Rothwell committed Jul 20, 2007
1 parent 65e6c19 commit 220f946
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 66 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0081cbc3731de8ad4744ba433af51f17bf27eb9c
refs/heads/master: 581b605a83ec241a2aff8ef780e08b9414c8dfd8
24 changes: 1 addition & 23 deletions trunk/arch/powerpc/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,7 @@ struct boot_param_header *initial_boot_params;

static struct device_node *allnodes = NULL;

/* use when traversing tree through the allnext, child, sibling,
* or parent members of struct device_node.
*/
static DEFINE_RWLOCK(devtree_lock);
extern rwlock_t devtree_lock; /* temporary while merging */

/* export that to outside world */
struct device_node *of_chosen;
Expand Down Expand Up @@ -1489,25 +1486,6 @@ static int __init prom_reconfig_setup(void)
__initcall(prom_reconfig_setup);
#endif

struct property *of_find_property(const struct device_node *np,
const char *name,
int *lenp)
{
struct property *pp;

read_lock(&devtree_lock);
for (pp = np->properties; pp != 0; pp = pp->next)
if (strcmp(pp->name, name) == 0) {
if (lenp != 0)
*lenp = pp->length;
break;
}
read_unlock(&devtree_lock);

return pp;
}
EXPORT_SYMBOL(of_find_property);

/*
* Add a property to a node
*/
Expand Down
22 changes: 1 addition & 21 deletions trunk/arch/sparc/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,7 @@

static struct device_node *allnodes;

/* use when traversing tree through the allnext, child, sibling,
* or parent members of struct device_node.
*/
static DEFINE_RWLOCK(devtree_lock);
extern rwlock_t devtree_lock; /* temporary while merging */

struct device_node *of_get_parent(const struct device_node *node)
{
Expand Down Expand Up @@ -130,23 +127,6 @@ struct device_node *of_find_compatible_node(struct device_node *from,
}
EXPORT_SYMBOL(of_find_compatible_node);

struct property *of_find_property(const struct device_node *np,
const char *name,
int *lenp)
{
struct property *pp;

for (pp = np->properties; pp != 0; pp = pp->next) {
if (strcasecmp(pp->name, name) == 0) {
if (lenp != 0)
*lenp = pp->length;
break;
}
}
return pp;
}
EXPORT_SYMBOL(of_find_property);

int of_getintprop_default(struct device_node *np, const char *name, int def)
{
struct property *prop;
Expand Down
22 changes: 1 addition & 21 deletions trunk/arch/sparc64/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,7 @@

static struct device_node *allnodes;

/* use when traversing tree through the allnext, child, sibling,
* or parent members of struct device_node.
*/
static DEFINE_RWLOCK(devtree_lock);
extern rwlock_t devtree_lock; /* temporary while merging */

struct device_node *of_get_parent(const struct device_node *node)
{
Expand Down Expand Up @@ -135,23 +132,6 @@ struct device_node *of_find_compatible_node(struct device_node *from,
}
EXPORT_SYMBOL(of_find_compatible_node);

struct property *of_find_property(const struct device_node *np,
const char *name,
int *lenp)
{
struct property *pp;

for (pp = np->properties; pp != 0; pp = pp->next) {
if (strcasecmp(pp->name, name) == 0) {
if (lenp != 0)
*lenp = pp->length;
break;
}
}
return pp;
}
EXPORT_SYMBOL(of_find_property);

int of_getintprop_default(struct device_node *np, const char *name, int def)
{
struct property *prop;
Expand Down
26 changes: 26 additions & 0 deletions trunk/drivers/of/base.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@
*/
#include <linux/module.h>
#include <linux/of.h>
#include <linux/spinlock.h>

/* use when traversing tree through the allnext, child, sibling,
* or parent members of struct device_node.
*/
DEFINE_RWLOCK(devtree_lock);

int of_n_addr_cells(struct device_node *np)
{
Expand Down Expand Up @@ -51,6 +57,26 @@ int of_n_size_cells(struct device_node *np)
}
EXPORT_SYMBOL(of_n_size_cells);

struct property *of_find_property(const struct device_node *np,
const char *name,
int *lenp)
{
struct property *pp;

read_lock(&devtree_lock);
for (pp = np->properties; pp != 0; pp = pp->next) {
if (of_prop_cmp(pp->name, name) == 0) {
if (lenp != 0)
*lenp = pp->length;
break;
}
}
read_unlock(&devtree_lock);

return pp;
}
EXPORT_SYMBOL(of_find_property);

/*
* Find a property with a given name for a given node
* and return the value.
Expand Down
1 change: 1 addition & 0 deletions trunk/include/asm-powerpc/prom.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1

#define of_compat_cmp(s1, s2, l) strncasecmp((s1), (s2), (l))
#define of_prop_cmp(s1, s2) strcmp((s1), (s2))

/* Definitions used by the flattened device tree */
#define OF_DT_HEADER 0xd00dfeed /* marker */
Expand Down
1 change: 1 addition & 0 deletions trunk/include/asm-sparc/prom.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1

#define of_compat_cmp(s1, s2, l) strncmp((s1), (s2), (l))
#define of_prop_cmp(s1, s2) strcasecmp((s1), (s2))

typedef u32 phandle;
typedef u32 ihandle;
Expand Down
1 change: 1 addition & 0 deletions trunk/include/asm-sparc64/prom.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1

#define of_compat_cmp(s1, s2, l) strncmp((s1), (s2), (l))
#define of_prop_cmp(s1, s2) strcasecmp((s1), (s2))

typedef u32 phandle;
typedef u32 ihandle;
Expand Down

0 comments on commit 220f946

Please sign in to comment.