X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/f89517343bf062d299d54408eea2f9387bfefb6d..43487eff262637a59a4c2c0272d7c4a824af3944:/lunaix-os/includes/hal/devtree.h diff --git a/lunaix-os/includes/hal/devtree.h b/lunaix-os/includes/hal/devtree.h index 111617e..cc8e583 100644 --- a/lunaix-os/includes/hal/devtree.h +++ b/lunaix-os/includes/hal/devtree.h @@ -260,7 +260,7 @@ struct dtn_base struct dtp_table *props; - morph_t *binded_dev; + morph_t *binded_obj; }; struct dtspec_key @@ -443,6 +443,12 @@ dtp_val_set(struct dtp_val* val, dt_enc_t raw, unsigned cells) val->size = cells * sizeof(u32_t); } +static inline void +dtn_bind_object(struct dtn* node, morph_t* mobj) +{ + node->base.binded_obj = changeling_ref(mobj); +} + ////////////////////////////////////// /// DT Methods: Specifier Map @@ -590,11 +596,11 @@ struct dtpropx #define dtprop_reglike(base) \ ({ \ dt_proplet p = { \ - dtprop_compx(base->addr_c), \ - dtprop_compx(base->sz_c), \ + dtprop_compx((base)->addr_c), \ + dtprop_compx((base)->sz_c), \ dtprop_end \ }; \ - dt_proplet; \ + p; \ }) #define dtprop_rangelike(node) \ @@ -605,7 +611,7 @@ struct dtpropx dtprop_compx(base->sz_c), \ dtprop_end \ }; \ - dt_proplet; \ + p; \ }) #define dtprop_strlst_foreach(pos, prop) \