aboutsummaryrefslogtreecommitdiff
path: root/livetree.c
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2017-03-06 12:04:45 +1100
committerDavid Gibson <david@gibson.dropbear.id.au>2017-03-06 12:04:45 +1100
commit49300f2ade6a6ad9b19957b1fce41fccfe1246a3 (patch)
tree8e469eef1e72f62296acba1c14eb022152ed425a /livetree.c
parentfa8bc7f928ac25f23532afc8beb2073efc8fb063 (diff)
downloaddtc-49300f2ade6a6ad9b19957b1fce41fccfe1246a3.zip
dtc-49300f2ade6a6ad9b19957b1fce41fccfe1246a3.tar.gz
dtc-49300f2ade6a6ad9b19957b1fce41fccfe1246a3.tar.bz2
dtc: Don't abuse struct fdt_reserve_entry
struct fdt_reserve_entry is defined in fdt.h to exactly mirror the in-memory layout of a reserve entry in the flattened tree. Since that is always big-endian, it uses fdt64_t elements, which have sparse annotations marking them as not native endian. However, in dtc, we also use struct fdt_reserve_entry inside struct reserve_info, and use it with native endian values. This will cause sparse errors. This stops this abuse, making struct reserve_info have its own native endian fields for the same information. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'livetree.c')
-rw-r--r--livetree.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/livetree.c b/livetree.c
index 36be9af..3130dd2 100644
--- a/livetree.c
+++ b/livetree.c
@@ -319,8 +319,8 @@ struct reserve_info *build_reserve_entry(uint64_t address, uint64_t size)
memset(new, 0, sizeof(*new));
- new->re.address = address;
- new->re.size = size;
+ new->address = address;
+ new->size = size;
return new;
}
@@ -599,13 +599,13 @@ static int cmp_reserve_info(const void *ax, const void *bx)
a = *((const struct reserve_info * const *)ax);
b = *((const struct reserve_info * const *)bx);
- if (a->re.address < b->re.address)
+ if (a->address < b->address)
return -1;
- else if (a->re.address > b->re.address)
+ else if (a->address > b->address)
return 1;
- else if (a->re.size < b->re.size)
+ else if (a->size < b->size)
return -1;
- else if (a->re.size > b->re.size)
+ else if (a->size > b->size)
return 1;
else
return 0;