diff --git a/libfdt/fdt_ro.c b/libfdt/fdt_ro.c index ef082be..12a37d5 100644 --- a/libfdt/fdt_ro.c +++ b/libfdt/fdt_ro.c @@ -249,7 +249,7 @@ const struct fdt_property *fdt_get_property(const void *fdt, case FDT_PROP: err = -FDT_ERR_BADSTRUCTURE; - prop = fdt_offset_ptr_typed(fdt, offset, prop); + prop = fdt_offset_ptr(fdt, offset, sizeof(*prop)); if (! prop) goto fail; namestroff = fdt32_to_cpu(prop->nameoff); diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h index a61e50d..6b2fb92 100644 --- a/libfdt/libfdt.h +++ b/libfdt/libfdt.h @@ -128,12 +128,6 @@ static inline void *fdt_offset_ptr_w(void *fdt, int offset, int checklen) return (void *)fdt_offset_ptr(fdt, offset, checklen); } - -#define fdt_offset_ptr_typed(fdt, offset, var) \ - ((typeof(var))(fdt_offset_ptr((fdt), (offset), sizeof(*(var))))) -#define fdt_offset_ptr_typed_w(fdt, offset, var) \ - ((typeof(var))(fdt_offset_ptr_w((fdt), (offset), sizeof(*(var))))) - uint32_t fdt_next_tag(const void *fdt, int offset, int *nextoffset); /**********************************************************************/ diff --git a/tests/dtbs_equal_ordered.c b/tests/dtbs_equal_ordered.c index d72124f..0c30ad3 100644 --- a/tests/dtbs_equal_ordered.c +++ b/tests/dtbs_equal_ordered.c @@ -93,10 +93,10 @@ void compare_structure(const void *fdt1, const void *fdt2) break; case FDT_PROP: - prop1 = fdt_offset_ptr_typed(fdt1, offset1, prop1); + prop1 = fdt_offset_ptr(fdt1, offset1, sizeof(*prop1)); if (!prop1) FAIL("Could get fdt1 property at %d", offset1); - prop2 = fdt_offset_ptr_typed(fdt2, offset2, prop2); + prop2 = fdt_offset_ptr(fdt2, offset2, sizeof(*prop2)); if (!prop2) FAIL("Could get fdt2 property at %d", offset2); diff --git a/tests/path_offset.c b/tests/path_offset.c index 834bc93..4b014ac 100644 --- a/tests/path_offset.c +++ b/tests/path_offset.c @@ -31,7 +31,7 @@ int check_subnode(void *fdt, int parent, const char *name) { int offset; - struct fdt_node_header *nh; + const struct fdt_node_header *nh; uint32_t tag; verbose_printf("Checking subnode \"%s\" of %d...", name, parent); @@ -39,7 +39,7 @@ int check_subnode(void *fdt, int parent, const char *name) verbose_printf("offset %d...", offset); if (offset < 0) FAIL("fdt_subnode_offset(\"%s\"): %s", name, fdt_strerror(offset)); - nh = fdt_offset_ptr_typed(fdt, offset, nh); + nh = fdt_offset_ptr(fdt, offset, sizeof(*nh)); verbose_printf("pointer %p\n", nh); if (! nh) FAIL("NULL retrieving subnode \"%s\"", name); diff --git a/tests/root_node.c b/tests/root_node.c index fa2dc90..3f47829 100644 --- a/tests/root_node.c +++ b/tests/root_node.c @@ -32,12 +32,12 @@ int main(int argc, char *argv[]) { void *fdt; - struct fdt_node_header *nh; + const struct fdt_node_header *nh; test_init(argc, argv); fdt = load_blob_arg(argc, argv); - nh = fdt_offset_ptr_typed(fdt, 0, nh); + nh = fdt_offset_ptr(fdt, 0, sizeof(*nh)); if (! nh) FAIL("NULL retrieving root node"); diff --git a/tests/subnode_offset.c b/tests/subnode_offset.c index f5b88e1..ac2f32e 100644 --- a/tests/subnode_offset.c +++ b/tests/subnode_offset.c @@ -31,7 +31,7 @@ int check_subnode(struct fdt_header *fdt, int parent, const char *name) { int offset; - struct fdt_node_header *nh; + const struct fdt_node_header *nh; uint32_t tag; verbose_printf("Checking subnode \"%s\" of %d...", name, parent); @@ -39,7 +39,7 @@ int check_subnode(struct fdt_header *fdt, int parent, const char *name) verbose_printf("offset %d...", offset); if (offset < 0) FAIL("fdt_subnode_offset(\"%s\"): %s", name, fdt_strerror(offset)); - nh = fdt_offset_ptr_typed(fdt, offset, nh); + nh = fdt_offset_ptr(fdt, offset, sizeof(*nh)); verbose_printf("pointer %p\n", nh); if (! nh) FAIL("NULL retrieving subnode \"%s\"", name);