diff options
-rw-r--r-- | arch/sparc/kernel/prom_32.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sparc/kernel/prom_32.c b/arch/sparc/kernel/prom_32.c index a6809bc9ab9d..5818aa9e85a0 100644 --- a/arch/sparc/kernel/prom_32.c +++ b/arch/sparc/kernel/prom_32.c | |||
@@ -210,7 +210,7 @@ static char * __init get_one_property(phandle node, const char *name) | |||
210 | return buf; | 210 | return buf; |
211 | } | 211 | } |
212 | 212 | ||
213 | static struct device_node * __init create_node(phandle node) | 213 | static struct device_node * __init create_node(phandle node, struct device_node *parent) |
214 | { | 214 | { |
215 | struct device_node *dp; | 215 | struct device_node *dp; |
216 | 216 | ||
@@ -219,6 +219,7 @@ static struct device_node * __init create_node(phandle node) | |||
219 | 219 | ||
220 | dp = prom_early_alloc(sizeof(*dp)); | 220 | dp = prom_early_alloc(sizeof(*dp)); |
221 | dp->unique_id = prom_unique_id++; | 221 | dp->unique_id = prom_unique_id++; |
222 | dp->parent = parent; | ||
222 | 223 | ||
223 | kref_init(&dp->kref); | 224 | kref_init(&dp->kref); |
224 | 225 | ||
@@ -237,7 +238,7 @@ static struct device_node * __init build_tree(struct device_node *parent, phandl | |||
237 | { | 238 | { |
238 | struct device_node *dp; | 239 | struct device_node *dp; |
239 | 240 | ||
240 | dp = create_node(node); | 241 | dp = create_node(node, parent); |
241 | if (dp) { | 242 | if (dp) { |
242 | *(*nextp) = dp; | 243 | *(*nextp) = dp; |
243 | *nextp = &dp->allnext; | 244 | *nextp = &dp->allnext; |
@@ -387,7 +388,7 @@ void __init prom_build_devicetree(void) | |||
387 | { | 388 | { |
388 | struct device_node **nextp; | 389 | struct device_node **nextp; |
389 | 390 | ||
390 | allnodes = create_node(prom_root_node); | 391 | allnodes = create_node(prom_root_node, NULL); |
391 | allnodes->path_component_name = ""; | 392 | allnodes->path_component_name = ""; |
392 | allnodes->full_name = "/"; | 393 | allnodes->full_name = "/"; |
393 | 394 | ||