diff options
-rw-r--r-- | arch/sparc/kernel/of_device.c | 7 | ||||
-rw-r--r-- | arch/sparc64/kernel/of_device.c | 7 |
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: |