dect
/
linux-2.6
Archived
13
0
Fork 0

sparc: Move create_node() and friends into prom_common.c

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2008-12-05 01:10:18 -08:00
parent 06c0db7221
commit 7d9439d50b
4 changed files with 42 additions and 78 deletions

View File

@ -15,6 +15,7 @@ extern void irq_trans_init(struct device_node *dp);
extern unsigned int prom_unique_id;
extern struct property * __init build_prop_list(phandle node);
extern struct device_node * __init create_node(phandle node,
struct device_node *parent);
#endif /* __PROM_H */

View File

@ -196,44 +196,6 @@ static char * __init build_full_name(struct device_node *dp)
return n;
}
static char * __init get_one_property(phandle node, const char *name)
{
char *buf = "<NULL>";
int len;
len = prom_getproplen(node, name);
if (len > 0) {
buf = prom_early_alloc(len);
len = prom_getproperty(node, name, buf, len);
}
return buf;
}
static struct device_node * __init create_node(phandle node, struct device_node *parent)
{
struct device_node *dp;
if (!node)
return NULL;
dp = prom_early_alloc(sizeof(*dp));
dp->unique_id = prom_unique_id++;
dp->parent = parent;
kref_init(&dp->kref);
dp->name = get_one_property(node, "name");
dp->type = get_one_property(node, "device_type");
dp->node = node;
/* Build interrupts later... */
dp->properties = build_prop_list(node);
return dp;
}
static struct device_node * __init build_tree(struct device_node *parent, phandle node, struct device_node ***nextp)
{
struct device_node *dp;

View File

@ -399,44 +399,6 @@ static char * __init build_full_name(struct device_node *dp)
return n;
}
static char * __init get_one_property(phandle node, const char *name)
{
char *buf = "<NULL>";
int len;
len = prom_getproplen(node, name);
if (len > 0) {
buf = prom_early_alloc(len);
len = prom_getproperty(node, name, buf, len);
}
return buf;
}
static struct device_node * __init create_node(phandle node, struct device_node *parent)
{
struct device_node *dp;
if (!node)
return NULL;
dp = prom_early_alloc(sizeof(*dp));
dp->unique_id = prom_unique_id++;
dp->parent = parent;
kref_init(&dp->kref);
dp->name = get_one_property(node, "name");
dp->type = get_one_property(node, "device_type");
dp->node = node;
dp->properties = build_prop_list(node);
irq_trans_init(dp);
return dp;
}
static struct device_node * __init build_tree(struct device_node *parent, phandle node, struct device_node ***nextp)
{
struct device_node *ret = NULL, *prev_sibling = NULL;

View File

@ -184,7 +184,7 @@ static struct property * __init build_one_prop(phandle node, char *prev,
return p;
}
struct property * __init build_prop_list(phandle node)
static struct property * __init build_prop_list(phandle node)
{
struct property *head, *tail;
@ -201,3 +201,42 @@ struct property * __init build_prop_list(phandle node)
return head;
}
static char * __init get_one_property(phandle node, const char *name)
{
char *buf = "<NULL>";
int len;
len = prom_getproplen(node, name);
if (len > 0) {
buf = prom_early_alloc(len);
len = prom_getproperty(node, name, buf, len);
}
return buf;
}
struct device_node * __init create_node(phandle node,
struct device_node *parent)
{
struct device_node *dp;
if (!node)
return NULL;
dp = prom_early_alloc(sizeof(*dp));
dp->unique_id = prom_unique_id++;
dp->parent = parent;
kref_init(&dp->kref);
dp->name = get_one_property(node, "name");
dp->type = get_one_property(node, "device_type");
dp->node = node;
/* Build interrupts later... */
dp->properties = build_prop_list(node);
return dp;
}