soc/cavium/cn81xx: Don't directly manipulate devicetree data
As preparation to constify devicetree data, do it the right way. Change-Id: I5081de020bb73c56aa8bdf7bb17fe6b2913d0ffe Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/28266 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
This commit is contained in:
parent
0a7d6908bf
commit
70866e9f38
|
@ -241,12 +241,24 @@ static int dt_platform_fixup(struct device_tree_fixup *fixup,
|
||||||
__func__);
|
__func__);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u32 *data_cleaned = malloc(size);
|
||||||
|
if (!data_cleaned)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
size_t n = 0;
|
||||||
|
/* Remove phandle from mmu-masters list */
|
||||||
for (size_t j = 0; j < size / (sizeof(u32) * 2); j++)
|
for (size_t j = 0; j < size / (sizeof(u32) * 2); j++)
|
||||||
if (be32_to_cpu(data[j * 2]) == phandle) {
|
if (be32_to_cpu(data[j * 2]) != phandle) {
|
||||||
data[j * 2] = 0;
|
data_cleaned[n * 2] = data[j * 2];
|
||||||
data[j * 2 + 1] = 0;
|
data_cleaned[n * 2 + 1] = data[j * 2 + 1];
|
||||||
break;
|
n++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dt_add_bin_prop(dt_node, "mmu-masters", data_cleaned,
|
||||||
|
n * sizeof(u32) * 2);
|
||||||
|
|
||||||
|
free(data_cleaned);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove QLM mode entries */
|
/* Remove QLM mode entries */
|
||||||
|
|
Loading…
Reference in New Issue