summaryrefslogtreecommitdiffstats
path: root/hdata/test/hdata_to_dt.c
diff options
context:
space:
mode:
Diffstat (limited to 'hdata/test/hdata_to_dt.c')
-rw-r--r--hdata/test/hdata_to_dt.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/hdata/test/hdata_to_dt.c b/hdata/test/hdata_to_dt.c
index fd2957ce..a5f152e8 100644
--- a/hdata/test/hdata_to_dt.c
+++ b/hdata/test/hdata_to_dt.c
@@ -253,8 +253,23 @@ static void squash_blobs(struct dt_node *root)
static void dump_hdata_fdt(struct dt_node *root)
{
+ struct dt_node *n;
void *fdt_blob;
+ /* delete some properties that hardcode pointers */
+ dt_for_each_node(dt_root, n) {
+ struct dt_property *base;
+
+ /*
+ * sml-base is a raw pointer into the HDAT area so it changes
+ * on each execution of hdata_to_dt. Work around this by
+ * zeroing it.
+ */
+ base = __dt_find_property(n, "linux,sml-base");
+ if (base)
+ memset(base->prop, 0, base->len);
+ }
+
fdt_blob = create_dtb(root, false);
if (!fdt_blob) {
OpenPOWER on IntegriCloud