aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/pci_sabre.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-09-01 18:32:22 -0700
committerDavid S. Miller <davem@davemloft.net>2008-09-01 18:32:22 -0700
commite822358ac24550d889895d5866797ae8c9b188c2 (patch)
treead231109cba4725ea349fd7186bf6dc293cf3045 /arch/sparc64/kernel/pci_sabre.c
parentsparc64: Kill the scan_bus function pointer in struct pci_pbm_info. (diff)
downloadlinux-dev-e822358ac24550d889895d5866797ae8c9b188c2.tar.xz
linux-dev-e822358ac24550d889895d5866797ae8c9b188c2.zip
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)
}
}
-static void __init sabre_scan_bus(struct pci_pbm_info *pbm)
+static void __init sabre_scan_bus(struct pci_pbm_info *pbm,
+ struct device *parent)
{
static int once;
@@ -662,7 +663,7 @@ static void __init sabre_scan_bus(struct pci_pbm_info *pbm)
}
once++;
- pbm->pci_bus = pci_scan_one_pbm(pbm);
+ pbm->pci_bus = pci_scan_one_pbm(pbm, parent);
if (!pbm->pci_bus)
return;
@@ -734,8 +735,10 @@ static int sabre_iommu_init(struct pci_pbm_info *pbm,
}
static void __init sabre_pbm_init(struct pci_controller_info *p,
- struct pci_pbm_info *pbm, struct device_node *dp)
+ struct pci_pbm_info *pbm, struct of_device *op)
{
+ struct device_node *dp = op->node;
+
pbm->name = dp->full_name;
printk("%s: SABRE PCI Bus Module\n", pbm->name);
@@ -753,7 +756,7 @@ static void __init sabre_pbm_init(struct pci_controller_info *p,
pci_determine_mem_io_space(pbm);
- sabre_scan_bus(pbm);
+ sabre_scan_bus(pbm, &op->dev);
}
static int __devinit sabre_probe(struct of_device *op,
@@ -873,7 +876,7 @@ static int __devinit sabre_probe(struct of_device *op,
/*
* Look for APB underneath.
*/
- sabre_pbm_init(p, pbm, dp);
+ sabre_pbm_init(p, pbm, op);
return 0;
out_free_iommu: