Lines Matching refs:dtb_node_head
65 static int _dtb_node_get_dtb_nodes_list(struct dtb_node *dtb_node_head, struct dtb_node *dtb_node, … in _dtb_node_get_dtb_nodes_list() argument
73 dtb_fwnode_init(dtb_node_head); in _dtb_node_get_dtb_nodes_list()
89 dtb_node->parent = dtb_node_head; in _dtb_node_get_dtb_nodes_list()
103 dtb_node->level = dtb_node_head->level + 1; in _dtb_node_get_dtb_nodes_list()
169 struct dtb_node *dtb_node_head = NULL; in dtb_node_get_dtb_list() local
179 if ((dtb_node_head = (struct dtb_node *)malloc(sizeof(struct dtb_node))) == NULL) in dtb_node_get_dtb_list()
200 if ((dtb_node_head->header = (struct dtb_header *)malloc(sizeof(struct dtb_header))) == NULL) in dtb_node_get_dtb_list()
208 ((struct dtb_header *)dtb_node_head->header)->root = '/'; in dtb_node_get_dtb_list()
209 ((struct dtb_header *)dtb_node_head->header)->zero = '\0'; in dtb_node_get_dtb_list()
210 ((struct dtb_header *)dtb_node_head->header)->memreserve_sz = fdt_num_mem_rsv(fdt); in dtb_node_get_dtb_list()
212 if (dtb_node_head->header->memreserve_sz > 0) in dtb_node_get_dtb_list()
215 int memreserve_sz = dtb_node_head->header->memreserve_sz; in dtb_node_get_dtb_list()
219 …((struct dtb_header *)dtb_node_head->header)->memreserve = (struct dtb_memreserve *)malloc(sizeof(… in dtb_node_get_dtb_list()
220 if (dtb_node_head->header->memreserve == NULL) in dtb_node_get_dtb_list()
227 …((struct dtb_header *)dtb_node_head->header)->memreserve[i].address = fdt64_to_cpu(rsvmap[i].addre… in dtb_node_get_dtb_list()
228 … ((struct dtb_header *)dtb_node_head->header)->memreserve[i].size = fdt64_to_cpu(rsvmap[i].size); in dtb_node_get_dtb_list()
233 ((struct dtb_header *)dtb_node_head->header)->memreserve = NULL; in dtb_node_get_dtb_list()
237 dtb_node_head->path = paths_buf.ptr; in dtb_node_get_dtb_list()
240 dtb_node_head->parent = NULL; in dtb_node_get_dtb_list()
241 dtb_node_head->sibling = NULL; in dtb_node_get_dtb_list()
243 dtb_node_head->handle = fdt_get_phandle(fdt, root_off); in dtb_node_get_dtb_list()
244 dtb_node_head->properties = (struct dtb_property *)malloc(sizeof(struct dtb_property)); in dtb_node_get_dtb_list()
245 dtb_node_head->child = (struct dtb_node *)malloc(sizeof(struct dtb_node)); in dtb_node_get_dtb_list()
246 dtb_node_head->level = 0; in dtb_node_get_dtb_list()
248 if (dtb_node_head->properties == NULL || dtb_node_head->child == NULL) in dtb_node_get_dtb_list()
254 …if ((fdt_exec_status = _dtb_node_get_dtb_properties_list(dtb_node_head->properties, root_off)) != … in dtb_node_get_dtb_list()
259 …f ((fdt_exec_status = _dtb_node_get_dtb_nodes_list(dtb_node_head, dtb_node_head->child, dtb_node_h… in dtb_node_get_dtb_list()
268 return dtb_node_head; in dtb_node_get_dtb_list()
271 if (dtb_node_head != NULL) in dtb_node_get_dtb_list()
273 dtb_node_free_dtb_list(dtb_node_head); in dtb_node_get_dtb_list()
303 void dtb_node_free_dtb_list(struct dtb_node *dtb_node_head) in dtb_node_free_dtb_list() argument
305 if (dtb_node_head == NULL) in dtb_node_free_dtb_list()
311 …if (dtb_node_head->parent == NULL || (dtb_node_head->path != NULL && !strcmp(dtb_node_head->path, … in dtb_node_free_dtb_list()
313 if (dtb_node_head->path != NULL) in dtb_node_free_dtb_list()
315 free((void *)dtb_node_head->path); in dtb_node_free_dtb_list()
317 if (dtb_node_head->header != NULL) in dtb_node_free_dtb_list()
319 if (dtb_node_head->header->memreserve != NULL) in dtb_node_free_dtb_list()
321 free((void *)dtb_node_head->header->memreserve); in dtb_node_free_dtb_list()
323 free((void *)dtb_node_head->header); in dtb_node_free_dtb_list()
327 _dtb_node_free_dtb_node(dtb_node_head); in dtb_node_free_dtb_list()
458 void dtb_node_get_dts_dump(struct dtb_node *dtb_node_head) in dtb_node_get_dts_dump() argument
460 if (dtb_node_head != NULL) in dtb_node_get_dts_dump()
462 int i = dtb_node_head->header->memreserve_sz; in dtb_node_get_dts_dump()
467 …rt_kprintf("\n/memreserve/\t0x%lx 0x%zx;", dtb_node_head->header->memreserve[i].address, dtb_node_… in dtb_node_get_dts_dump()
470 _dtb_node_printf_dtb_node_info(dtb_node_head); in dtb_node_get_dts_dump()
484 void dtb_node_get_enum_dtb_node(struct dtb_node *dtb_node_head, void (callback(struct dtb_node *dtb… in dtb_node_get_enum_dtb_node() argument
486 if (dtb_node_head == NULL || callback == NULL) in dtb_node_get_enum_dtb_node()
491 _dtb_node_get_enum_dtb_node(dtb_node_head, callback); in dtb_node_get_enum_dtb_node()
521 struct dtb_node *dtb_node_child, *dtb_node_head = dtb_node; in dtb_node_get_dtb_node_by_name_BFS() local
532 dtb_node = dtb_node_head; in dtb_node_get_dtb_node_by_name_BFS()
655 struct dtb_node *dtb_node_child, *dtb_node_head = dtb_node; in dtb_node_get_dtb_node_by_phandle_BFS() local
666 dtb_node = dtb_node_head; in dtb_node_get_dtb_node_by_phandle_BFS()