[PATCH 02/10] bootwrapper: Support all-in-one PCI nodes in cuboot-pq2.
Scott Wood
scottwood at freescale.com
Thu Sep 6 05:21:02 EST 2007
Kumar insisted on not splitting the PCI ito bus and control nodes,
but rather hacking extra entries into the soc node's ranges.
Signed-off-by: Scott Wood <scottwood at freescale.com>
---
arch/powerpc/boot/cuboot-pq2.c | 25 ++++++++-----------------
1 files changed, 8 insertions(+), 17 deletions(-)
diff --git a/arch/powerpc/boot/cuboot-pq2.c b/arch/powerpc/boot/cuboot-pq2.c
index fef2d15..986cc71 100644
--- a/arch/powerpc/boot/cuboot-pq2.c
+++ b/arch/powerpc/boot/cuboot-pq2.c
@@ -140,15 +140,15 @@ static void fixup_pci(void)
u32 *pci_regs[3];
u8 *soc_regs;
int i, len;
- void *ctrl_node, *bus_node, *parent_node, *soc_node;
- u32 naddr, nsize, bus_ph, mem_log2;
+ void *node, *parent_node;
+ u32 naddr, nsize, mem_log2;
- ctrl_node = finddevice("/soc/pci");
- if (!ctrl_node || !dt_is_compatible(ctrl_node, "fsl,pq2-pci"))
+ node = finddevice("/soc/pci");
+ if (!node || !dt_is_compatible(node, "fsl,pq2-pci"))
return;
for (i = 0; i < 3; i++)
- if (!dt_xlate_reg(ctrl_node, i,
+ if (!dt_xlate_reg(node, i,
(unsigned long *)&pci_regs[i], NULL))
goto err;
@@ -156,20 +156,11 @@ static void fixup_pci(void)
if (!soc_regs)
goto err;
- len = getprop(ctrl_node, "fsl,bus", &bus_ph, 4);
- if (len != 4)
- goto err;
-
- bus_node = find_node_by_prop_value(NULL, "linux,phandle",
- (char *)&bus_ph, 4);
- if (!bus_node)
- goto err;
-
- dt_get_reg_format(bus_node, &naddr, &nsize);
+ dt_get_reg_format(node, &naddr, &nsize);
if (naddr != 3 || nsize != 2)
goto err;
- parent_node = get_parent(bus_node);
+ parent_node = get_parent(node);
if (!parent_node)
goto err;
@@ -177,7 +168,7 @@ static void fixup_pci(void)
if (naddr != 1 || nsize != 1)
goto err;
- len = getprop(bus_node, "ranges", pci_ranges_buf,
+ len = getprop(node, "ranges", pci_ranges_buf,
sizeof(pci_ranges_buf));
for (i = 0; i < len / sizeof(struct pci_range); i++) {
--
1.5.3
More information about the Linuxppc-dev
mailing list