aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sparc/kernel/of_device.c7
-rw-r--r--arch/sparc64/kernel/of_device.c7
2 files changed, 8 insertions, 6 deletions
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c
index dab6169e31ca..798b140fabeb 100644
--- a/arch/sparc/kernel/of_device.c
+++ b/arch/sparc/kernel/of_device.c
@@ -495,7 +495,7 @@ static void __init build_device_resources(struct of_device *op,
495 u32 *reg = (preg + (index * ((na + ns) * 4))); 495 u32 *reg = (preg + (index * ((na + ns) * 4)));
496 struct device_node *dp = op->node; 496 struct device_node *dp = op->node;
497 struct device_node *pp = p_op->node; 497 struct device_node *pp = p_op->node;
498 struct of_bus *pbus; 498 struct of_bus *pbus, *dbus;
499 u64 size, result = OF_BAD_ADDR; 499 u64 size, result = OF_BAD_ADDR;
500 unsigned long flags; 500 unsigned long flags;
501 int dna, dns; 501 int dna, dns;
@@ -516,6 +516,7 @@ static void __init build_device_resources(struct of_device *op,
516 516
517 dna = na; 517 dna = na;
518 dns = ns; 518 dns = ns;
519 dbus = bus;
519 520
520 while (1) { 521 while (1) {
521 dp = pp; 522 dp = pp;
@@ -528,13 +529,13 @@ static void __init build_device_resources(struct of_device *op,
528 pbus = of_match_bus(pp); 529 pbus = of_match_bus(pp);
529 pbus->count_cells(dp, &pna, &pns); 530 pbus->count_cells(dp, &pna, &pns);
530 531
531 if (build_one_resource(dp, bus, pbus, addr, 532 if (build_one_resource(dp, dbus, pbus, addr,
532 dna, dns, pna)) 533 dna, dns, pna))
533 break; 534 break;
534 535
535 dna = pna; 536 dna = pna;
536 dns = pns; 537 dns = pns;
537 bus = pbus; 538 dbus = pbus;
538 } 539 }
539 540
540 build_res: 541 build_res:
diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
index ad74e5e8778e..1f4598524bdd 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -581,7 +581,7 @@ static void __init build_device_resources(struct of_device *op,
581 u32 *reg = (preg + (index * ((na + ns) * 4))); 581 u32 *reg = (preg + (index * ((na + ns) * 4)));
582 struct device_node *dp = op->node; 582 struct device_node *dp = op->node;
583 struct device_node *pp = p_op->node; 583 struct device_node *pp = p_op->node;
584 struct of_bus *pbus; 584 struct of_bus *pbus, *dbus;
585 u64 size, result = OF_BAD_ADDR; 585 u64 size, result = OF_BAD_ADDR;
586 unsigned long flags; 586 unsigned long flags;
587 int dna, dns; 587 int dna, dns;
@@ -599,6 +599,7 @@ static void __init build_device_resources(struct of_device *op,
599 599
600 dna = na; 600 dna = na;
601 dns = ns; 601 dns = ns;
602 dbus = bus;
602 603
603 while (1) { 604 while (1) {
604 dp = pp; 605 dp = pp;
@@ -611,13 +612,13 @@ static void __init build_device_resources(struct of_device *op,
611 pbus = of_match_bus(pp); 612 pbus = of_match_bus(pp);
612 pbus->count_cells(dp, &pna, &pns); 613 pbus->count_cells(dp, &pna, &pns);
613 614
614 if (build_one_resource(dp, bus, pbus, addr, 615 if (build_one_resource(dp, dbus, pbus, addr,
615 dna, dns, pna)) 616 dna, dns, pna))
616 break; 617 break;
617 618
618 dna = pna; 619 dna = pna;
619 dns = pns; 620 dns = pns;
620 bus = pbus; 621 dbus = pbus;
621 } 622 }
622 623
623 build_res: 624 build_res: