aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/chrp/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/chrp/pci.c')
-rw-r--r--arch/powerpc/platforms/chrp/pci.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/chrp/pci.c b/arch/powerpc/platforms/chrp/pci.c
index b23e39796a0..de776e3889e 100644
--- a/arch/powerpc/platforms/chrp/pci.c
+++ b/arch/powerpc/platforms/chrp/pci.c
@@ -185,10 +185,9 @@ setup_python(struct pci_controller *hose, struct device_node *dev)
185/* Marvell Discovery II based Pegasos 2 */ 185/* Marvell Discovery II based Pegasos 2 */
186static void __init setup_peg2(struct pci_controller *hose, struct device_node *dev) 186static void __init setup_peg2(struct pci_controller *hose, struct device_node *dev)
187{ 187{
188 struct device_node *root = find_path_device("/"); 188 struct device_node *root = of_find_node_by_path("/");
189 struct device_node *rtas; 189 struct device_node *rtas;
190 190
191 of_node_get(root);
192 rtas = of_find_node_by_name (root, "rtas"); 191 rtas = of_find_node_by_name (root, "rtas");
193 if (rtas) { 192 if (rtas) {
194 hose->ops = &rtas_pci_ops; 193 hose->ops = &rtas_pci_ops;
@@ -198,6 +197,7 @@ static void __init setup_peg2(struct pci_controller *hose, struct device_node *d
198 " your firmware\n"); 197 " your firmware\n");
199 } 198 }
200 pci_assign_all_buses = 1; 199 pci_assign_all_buses = 1;
200 /* keep the reference to the root node */
201} 201}
202 202
203void __init 203void __init
@@ -210,7 +210,7 @@ chrp_find_bridges(void)
210 const unsigned int *dma; 210 const unsigned int *dma;
211 const char *model, *machine; 211 const char *model, *machine;
212 int is_longtrail = 0, is_mot = 0, is_pegasos = 0; 212 int is_longtrail = 0, is_mot = 0, is_pegasos = 0;
213 struct device_node *root = find_path_device("/"); 213 struct device_node *root = of_find_node_by_path("/");
214 struct resource r; 214 struct resource r;
215 /* 215 /*
216 * The PCI host bridge nodes on some machines don't have 216 * The PCI host bridge nodes on some machines don't have
@@ -309,6 +309,7 @@ chrp_find_bridges(void)
309 printk("pci_dram_offset = %lx\n", pci_dram_offset); 309 printk("pci_dram_offset = %lx\n", pci_dram_offset);
310 } 310 }
311 } 311 }
312 of_node_put(root);
312} 313}
313 314
314/* SL82C105 IDE Control/Status Register */ 315/* SL82C105 IDE Control/Status Register */