aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/pci_sabre.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-09-01 21:32:22 -0400
committerDavid S. Miller <davem@davemloft.net>2008-09-01 21:32:22 -0400
commite822358ac24550d889895d5866797ae8c9b188c2 (patch)
treead231109cba4725ea349fd7186bf6dc293cf3045 /arch/sparc64/kernel/pci_sabre.c
parent7cc288add44c392dfc8c1dbf0e3a26a69a14fa70 (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.c13
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
637static void __init sabre_scan_bus(struct pci_pbm_info *pbm) 637static 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
736static void __init sabre_pbm_init(struct pci_controller_info *p, 737static 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
759static int __devinit sabre_probe(struct of_device *op, 762static 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
879out_free_iommu: 882out_free_iommu: