Lines Matching refs:fdt
58 int fdt_check_header(const void *fdt) in fdt_check_header() argument
60 if (fdt_magic(fdt) == FDT_MAGIC) { in fdt_check_header()
62 if (fdt_version(fdt) < FDT_FIRST_SUPPORTED_VERSION) in fdt_check_header()
64 if (fdt_last_comp_version(fdt) > FDT_LAST_SUPPORTED_VERSION) in fdt_check_header()
66 } else if (fdt_magic(fdt) == FDT_SW_MAGIC) { in fdt_check_header()
68 if (fdt_size_dt_struct(fdt) == 0) in fdt_check_header()
77 const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int len) in fdt_offset_ptr() argument
79 unsigned absoffset = offset + fdt_off_dt_struct(fdt); in fdt_offset_ptr()
83 || (absoffset + len) > fdt_totalsize(fdt)) in fdt_offset_ptr()
86 if (fdt_version(fdt) >= 0x11) in fdt_offset_ptr()
88 || ((offset + len) > fdt_size_dt_struct(fdt))) in fdt_offset_ptr()
91 return fdt_offset_ptr_(fdt, offset); in fdt_offset_ptr()
94 uint32_t fdt_next_tag(const void *fdt, int startoffset, int *nextoffset) in fdt_next_tag() argument
102 tagp = fdt_offset_ptr(fdt, offset, FDT_TAGSIZE); in fdt_next_tag()
113 p = fdt_offset_ptr(fdt, offset++, 1); in fdt_next_tag()
120 lenp = fdt_offset_ptr(fdt, offset, sizeof(*lenp)); in fdt_next_tag()
126 if (fdt_version(fdt) < 0x10 && fdt32_to_cpu(*lenp) >= 8 && in fdt_next_tag()
140 if (!fdt_offset_ptr(fdt, startoffset, offset - startoffset)) in fdt_next_tag()
147 int fdt_check_node_offset_(const void *fdt, int offset) in fdt_check_node_offset_() argument
150 || (fdt_next_tag(fdt, offset, &offset) != FDT_BEGIN_NODE)) in fdt_check_node_offset_()
156 int fdt_check_prop_offset_(const void *fdt, int offset) in fdt_check_prop_offset_() argument
159 || (fdt_next_tag(fdt, offset, &offset) != FDT_PROP)) in fdt_check_prop_offset_()
165 int fdt_next_node(const void *fdt, int offset, int *depth) in fdt_next_node() argument
171 if ((nextoffset = fdt_check_node_offset_(fdt, offset)) < 0) in fdt_next_node()
176 tag = fdt_next_tag(fdt, offset, &nextoffset); in fdt_next_node()
205 int fdt_first_subnode(const void *fdt, int offset) in fdt_first_subnode() argument
209 offset = fdt_next_node(fdt, offset, &depth); in fdt_first_subnode()
216 int fdt_next_subnode(const void *fdt, int offset) in fdt_next_subnode() argument
225 offset = fdt_next_node(fdt, offset, &depth); in fdt_next_subnode()
245 int fdt_move(const void *fdt, void *buf, int bufsize) in fdt_move() argument
247 FDT_CHECK_HEADER(fdt); in fdt_move()
249 if (fdt_totalsize(fdt) > bufsize) in fdt_move()
252 memmove(buf, fdt, fdt_totalsize(fdt)); in fdt_move()