Merge remote-tracking branch 'origin/master' into isa/arm64
[lunaix-os.git] / lunaix-os / hal / devtree / devtree.h
index 1bfe891b5b2540a3adcb9443bfde5a9560278f52..0ddda80e4b7703da2c1c5f0785d35708dfb0e60b 100644 (file)
@@ -2,7 +2,6 @@
 #define __LUNAIX_DEVTREE_INTERNAL_H
 
 #include <hal/devtree.h>
-
 #include <klibc/string.h>
 
 static inline bool
@@ -11,10 +10,16 @@ propeq(struct fdt_blob* fdt, fdt_loc_t loc, const char* key)
     return streq(fdt_prop_key(fdt, loc), key);
 }
 
+static inline ptr_t
+__prop_val_ptr(struct fdt_prop* prop)
+{
+    return __ptr(prop) + sizeof(struct fdt_prop);
+}
+
 static inline void
 __mkprop_ptr(fdt_loc_t loc, struct dtp_val* val)
 {
-    val->ptr_val = __ptr(loc.prop->val);
+    val->ptr_val = __prop_val_ptr(loc.prop);
     val->size = loc.prop->len;
 }