X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6942ebae59c3904674dce6b67cd07c43a3bbe00d..7e13988c1113d38bec17bd79b71757d78d977e76:/lunaix-os/hal/devtree/devtree.h diff --git a/lunaix-os/hal/devtree/devtree.h b/lunaix-os/hal/devtree/devtree.h index e117472..eb7815d 100644 --- a/lunaix-os/hal/devtree/devtree.h +++ b/lunaix-os/hal/devtree/devtree.h @@ -5,42 +5,25 @@ #include static inline bool -propeq(struct fdt_iter* it, const char* key) +propeq(struct fdt_blob* fdt, fdt_loc_t loc, const char* key) { - return streq(fdtit_prop_key(it), key); + return streq(fdt_prop_key(fdt, loc), key); } static inline void -__mkprop_val32(struct fdt_iter* it, struct dt_prop_val* val) +__mkprop_ptr(fdt_loc_t loc, struct dtp_val* val) { - val->u32_val = le(*(u32_t*)&it->prop[1]); - val->size = le(it->prop->len); -} - -static inline void -__mkprop_val64(struct fdt_iter* it, struct dt_prop_val* val) -{ - val->u64_val = le64(*(u64_t*)&it->prop[1]); - val->size = le(it->prop->len); -} - -static inline void -__mkprop_ptr(struct fdt_iter* it, struct dt_prop_val* val) -{ - val->ptr_val = __ptr(&it->prop[1]); - val->size = le(it->prop->len); + val->ptr_val = __ptr(loc.prop->val); + val->size = loc.prop->len; } static inline u32_t -__prop_getu32(struct fdt_iter* it) +__prop_getu32(fdt_loc_t loc) { - return le(*(u32_t*)&it->prop[1]); + return loc.prop->val[0]; } bool -parse_stdintr_prop(struct fdt_iter* it, struct dt_intr_node* node); - -bool -parse_stdintr_prop(struct fdt_iter* it, struct dt_intr_node* node); +parse_stdintr_prop(struct fdt_blob*, fdt_loc_t, struct dtn_intr*); #endif /* __LUNAIX_DEVTREE_H */