MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / dtb_node_load_from_memory

Function dtb_node_load_from_memory

components/legacy/fdt/src/dtb_load.c:68–107  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66}
67
68void *dtb_node_load_from_memory(void *dtb_ptr, rt_bool_t is_clone)
69{
70 void *fdt = NULL;
71
72 if (dtb_ptr == NULL)
73 {
74 fdt_exec_status = FDT_RET_GET_EMPTY;
75 goto end;
76 }
77
78 if (dtb_node_check(dtb_ptr) == RT_FALSE)
79 {
80 fdt_exec_status = FDT_RET_GET_EMPTY;
81 fdt = NULL;
82 goto end;
83 }
84
85 if (is_clone)
86 {
87 size_t dtb_sz = fdt_totalsize(dtb_ptr);
88 if (dtb_sz > 0)
89 {
90 if ((fdt = (size_t *)malloc(dtb_sz)) != NULL)
91 {
92 memcpy(fdt, dtb_ptr, dtb_sz);
93 }
94 else
95 {
96 fdt_exec_status = FDT_RET_NO_MEMORY;
97 }
98 }
99 }
100 else
101 {
102 fdt = dtb_ptr;
103 }
104
105end:
106 return fdt;
107}

Callers 1

device_tree_setupFunction · 0.85

Calls 2

dtb_node_checkFunction · 0.85
mallocFunction · 0.50

Tested by

no test coverage detected