diff options
author | David S. Miller <davem@davemloft.net> | 2008-09-01 21:32:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-01 21:32:22 -0400 |
commit | e822358ac24550d889895d5866797ae8c9b188c2 (patch) | |
tree | ad231109cba4725ea349fd7186bf6dc293cf3045 /arch/sparc64/kernel/pci_sabre.c | |
parent | 7cc288add44c392dfc8c1dbf0e3a26a69a14fa70 (diff) |
sparc64: Pass proper parent device down into root pci_create_bus() call.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/pci_sabre.c')
-rw-r--r-- | arch/sparc64/kernel/pci_sabre.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/sparc64/kernel/pci_sabre.c b/arch/sparc64/kernel/pci_sabre.c index eee8fdca3820..707d6d6130f7 100644 --- a/arch/sparc64/kernel/pci_sabre.c +++ b/arch/sparc64/kernel/pci_sabre.c | |||
@@ -634,7 +634,8 @@ static void apb_init(struct pci_bus *sabre_bus) | |||
634 | } | 634 | } |
635 | } | 635 | } |
636 | 636 | ||
637 | static void __init sabre_scan_bus(struct pci_pbm_info *pbm) | 637 | static void __init sabre_scan_bus(struct pci_pbm_info *pbm, |
638 | struct device *parent) | ||
638 | { | 639 | { |
639 | static int once; | 640 | static int once; |
640 | 641 | ||
@@ -662,7 +663,7 @@ static void __init sabre_scan_bus(struct pci_pbm_info *pbm) | |||
662 | } | 663 | } |
663 | once++; | 664 | once++; |
664 | 665 | ||
665 | pbm->pci_bus = pci_scan_one_pbm(pbm); | 666 | pbm->pci_bus = pci_scan_one_pbm(pbm, parent); |
666 | if (!pbm->pci_bus) | 667 | if (!pbm->pci_bus) |
667 | return; | 668 | return; |
668 | 669 | ||
@@ -734,8 +735,10 @@ static int sabre_iommu_init(struct pci_pbm_info *pbm, | |||
734 | } | 735 | } |
735 | 736 | ||
736 | static void __init sabre_pbm_init(struct pci_controller_info *p, | 737 | static void __init sabre_pbm_init(struct pci_controller_info *p, |
737 | struct pci_pbm_info *pbm, struct device_node *dp) | 738 | struct pci_pbm_info *pbm, struct of_device *op) |
738 | { | 739 | { |
740 | struct device_node *dp = op->node; | ||
741 | |||
739 | pbm->name = dp->full_name; | 742 | pbm->name = dp->full_name; |
740 | printk("%s: SABRE PCI Bus Module\n", pbm->name); | 743 | printk("%s: SABRE PCI Bus Module\n", pbm->name); |
741 | 744 | ||
@@ -753,7 +756,7 @@ static void __init sabre_pbm_init(struct pci_controller_info *p, | |||
753 | 756 | ||
754 | pci_determine_mem_io_space(pbm); | 757 | pci_determine_mem_io_space(pbm); |
755 | 758 | ||
756 | sabre_scan_bus(pbm); | 759 | sabre_scan_bus(pbm, &op->dev); |
757 | } | 760 | } |
758 | 761 | ||
759 | static int __devinit sabre_probe(struct of_device *op, | 762 | static int __devinit sabre_probe(struct of_device *op, |
@@ -873,7 +876,7 @@ static int __devinit sabre_probe(struct of_device *op, | |||
873 | /* | 876 | /* |
874 | * Look for APB underneath. | 877 | * Look for APB underneath. |
875 | */ | 878 | */ |
876 | sabre_pbm_init(p, pbm, dp); | 879 | sabre_pbm_init(p, pbm, op); |
877 | return 0; | 880 | return 0; |
878 | 881 | ||
879 | out_free_iommu: | 882 | out_free_iommu: |