Name

__unflatten_device_tree — Create expanded device tree (EDT)

Synopsis

void * __unflatten_device_tree (const void * blob,
 struct device_node * dad,
 struct device_node ** mynodes,
 void *(*dt_alloc) (u64 size, u64 align));
 

Arguments

blob

Pointer to flattened device tree (FDT)

dad

NULL or pointer to device tree node to attach new tree to

mynodes

Pointer used to return the expanded device tree (EDT)

dt_alloc

Pointer to a memory allocator that provides a virtual address

Description

Create an expanded device tree (EDT) from the flattened device tree (FDT) blob. The name and type fields of the nodes will be populated so the normal device-tree walking functions can be used.

If dad is NULL, the path of the root of the EDT will /.

If dad is not NULL that is probably an error. This usage is deprecated. The newly created tree will be grafted onto node dad. See notes about dad in unflatten_dt_nodes for more details.

Return

Pointer to the expanded device tree (EDT) on success. NULL on error.