Skip to content

Commit

Permalink
[POWERPC] mv64x60: Remove device tree absolute path references
Browse files Browse the repository at this point in the history
Replace several device node absolute path lookups in the mv64x60
bootwrapper code with lookups by compatible or device_type
properties.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Acked-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Dale Farnsworth authored and Paul Mackerras committed Apr 15, 2008
1 parent a1810b4 commit a05ce88
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 14 deletions.
4 changes: 2 additions & 2 deletions arch/powerpc/boot/mv64x60.c
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@ u8 *mv64x60_get_bridge_pbase(void)
u32 v[2];
void *devp;

devp = finddevice("/mv64x60");
devp = find_node_by_compatible(NULL, "marvell,mv64360");
if (devp == NULL)
goto err_out;
if (getprop(devp, "reg", v, sizeof(v)) != sizeof(v))
Expand All @@ -553,7 +553,7 @@ u8 *mv64x60_get_bridge_base(void)
u32 v;
void *devp;

devp = finddevice("/mv64x60");
devp = find_node_by_compatible(NULL, "marvell,mv64360");
if (devp == NULL)
goto err_out;
if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/boot/mv64x60_i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ int mv64x60_i2c_open(void)
u32 v;
void *devp;

devp = finddevice("/mv64x60/i2c");
devp = find_node_by_compatible(NULL, "marvell,mv64360-i2c");
if (devp == NULL)
goto err_out;
if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
Expand Down
23 changes: 12 additions & 11 deletions arch/powerpc/boot/prpmc2800.c
Original file line number Diff line number Diff line change
Expand Up @@ -344,20 +344,20 @@ static void prpmc2800_bridge_setup(u32 mem_size)
acc_bits);

/* Get the cpu -> pci i/o & mem mappings from the device tree */
devp = finddevice("/mv64x60/pci@80000000");
devp = find_node_by_compatible(NULL, "marvell,mv64360-pci");
if (devp == NULL)
fatal("Error: Missing /mv64x60/pci@80000000"
fatal("Error: Missing marvell,mv64360-pci"
" device tree node\n\r");

rc = getprop(devp, "ranges", v, sizeof(v));
if (rc != sizeof(v))
fatal("Error: Can't find /mv64x60/pci@80000000/ranges"
fatal("Error: Can't find marvell,mv64360-pci ranges"
" property\n\r");

/* Get the cpu -> pci i/o & mem mappings from the device tree */
devp = finddevice("/mv64x60");
devp = find_node_by_compatible(NULL, "marvell,mv64360");
if (devp == NULL)
fatal("Error: Missing /mv64x60 device tree node\n\r");
fatal("Error: Missing marvell,mv64360 device tree node\n\r");

enables = in_le32((u32 *)(bridge_base + MV64x60_CPU_BAR_ENABLE));
enables |= 0x0007fe00; /* Disable all cpu->pci windows */
Expand Down Expand Up @@ -429,9 +429,9 @@ static void prpmc2800_fixups(void)
setprop(devp, "model", model, l);

/* Set /cpus/PowerPC,7447/clock-frequency */
devp = finddevice("/cpus/PowerPC,7447");
devp = find_node_by_prop_value_str(NULL, "device_type", "cpu");
if (devp == NULL)
fatal("Error: Missing proper /cpus device tree node\n\r");
fatal("Error: Missing proper cpu device tree node\n\r");
v[0] = bip->core_speed;
setprop(devp, "clock-frequency", &v[0], sizeof(v[0]));

Expand All @@ -443,16 +443,17 @@ static void prpmc2800_fixups(void)
v[1] = bip->mem_size;
setprop(devp, "reg", v, sizeof(v));

/* Update /mv64x60/model, if this is a mv64362 */
/* Update model, if this is a mv64362 */
if (bip->bridge_type == BRIDGE_TYPE_MV64362) {
devp = finddevice("/mv64x60");
devp = find_node_by_compatible(NULL, "marvell,mv64360");
if (devp == NULL)
fatal("Error: Missing /mv64x60 device tree node\n\r");
fatal("Error: Missing marvell,mv64360"
" device tree node\n\r");
setprop(devp, "model", "mv64362", strlen("mv64362") + 1);
}

/* Set User FLASH size */
devp = finddevice("/mv64x60/flash@a0000000");
devp = find_node_by_compatible(NULL, "direct-mapped");
if (devp == NULL)
fatal("Error: Missing User FLASH device tree node\n\r");
rc = getprop(devp, "reg", v, sizeof(v));
Expand Down

0 comments on commit a05ce88

Please sign in to comment.