Merge branch 'master' into isa/arm64
[lunaix-os.git] / lunaix-os / hal / devtree / devtree.h
1 #ifndef __LUNAIX_DEVTREE_INTERNAL_H
2 #define __LUNAIX_DEVTREE_INTERNAL_H
3
4 #include <hal/devtree.h>
5 #include <klibc/string.h>
6
7 static inline bool
8 propeq(struct fdt_blob* fdt, fdt_loc_t loc, const char* key)
9 {
10     return streq(fdt_prop_key(fdt, loc), key);
11 }
12
13 static inline void
14 __mkprop_ptr(fdt_loc_t loc, struct dtp_val* val)
15 {
16     val->ptr_val = __ptr(loc.prop->val);
17     val->size = loc.prop->len;
18 }
19
20 static inline u32_t
21 __prop_getu32(fdt_loc_t loc)
22 {
23     return loc.prop->val[0];
24 }
25
26 bool
27 parse_stdintr_prop(struct fdt_blob*, fdt_loc_t, struct dtn_intr*);
28
29 #endif /* __LUNAIX_DEVTREE_H */