libfdt provides internal used helpers to convert an offset to a pointer
but nothing to do the reverse operation.
Fill this lack and introduce the fdt_ptr_offset_() internal helper to
convert a pointer to an offset.
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
---
libfdt/libfdt_internal.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libfdt/libfdt_internal.h b/libfdt/libfdt_internal.h
index c1ae306..9fd0012 100644
--- a/libfdt/libfdt_internal.h
+++ b/libfdt/libfdt_internal.h
@@ -47,6 +47,11 @@ static inline void *fdt_offset_ptr_w_(void *fdt, int offset)
return (void *)(uintptr_t)fdt_offset_ptr_(fdt, offset);
}
+static inline int fdt_ptr_offset_(const void *fdt, const void *ptr)
+{
+ return (const char *)ptr - (const char *)fdt_offset_ptr_(fdt, 0);
+}
+
static inline const struct fdt_reserve_entry *fdt_mem_rsv_(const void *fdt, int n)
{
const struct fdt_reserve_entry *rsv_table =
--
2.52.0