mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 17:24:17 +08:00
sparc: Move create_node() and friends into prom_common.c
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
06c0db7221
commit
7d9439d50b
@ -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 */
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user