sparc: Move create_node() and friends into prom_common.c
authorDavid S. Miller <davem@davemloft.net>
Fri, 5 Dec 2008 09:10:18 +0000 (01:10 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 6 Dec 2008 01:09:10 +0000 (17:09 -0800)
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/kernel/prom.h
arch/sparc/kernel/prom_32.c
arch/sparc/kernel/prom_64.c
arch/sparc/kernel/prom_common.c

index 49c25bd..d14b4ae 100644 (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 */
index 5818aa9..5881c14 100644 (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;
index ce96c1c..c1ce987 100644 (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;
index 7620567..d3eddc7 100644 (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;
+}