Lines Matching full:blob
83 static bool of_fdt_device_is_available(const void *blob, unsigned long node) in of_fdt_device_is_available() argument
85 const char *status = fdt_getprop(blob, node, "status", NULL); in of_fdt_device_is_available()
108 static void populate_properties(const void *blob, in populate_properties() argument
120 for (cur = fdt_first_property_offset(blob, offset); in populate_properties()
122 cur = fdt_next_property_offset(blob, cur)) { in populate_properties()
127 val = fdt_getprop_by_offset(blob, cur, &pname, &sz); in populate_properties()
205 static int populate_node(const void *blob, in populate_node() argument
216 pathp = fdt_get_name(blob, offset, &len); in populate_node()
240 populate_properties(blob, offset, mem, np, pathp, dryrun); in populate_node()
277 * @blob: The parent device tree blob
284 static int unflatten_dt_nodes(const void *blob, in unflatten_dt_nodes() argument
315 offset = fdt_next_node(blob, offset, &depth)) { in unflatten_dt_nodes()
320 !of_fdt_device_is_available(blob, offset)) in unflatten_dt_nodes()
323 ret = populate_node(blob, offset, &mem, nps[depth], in unflatten_dt_nodes()
350 * __unflatten_device_tree - create tree of device_nodes from flat blob
351 * @blob: The blob to expand
365 void *__unflatten_device_tree(const void *blob, in __unflatten_device_tree() argument
380 if (!blob) { in __unflatten_device_tree()
386 pr_debug("magic: %08x\n", fdt_magic(blob)); in __unflatten_device_tree()
387 pr_debug("size: %08x\n", fdt_totalsize(blob)); in __unflatten_device_tree()
388 pr_debug("version: %08x\n", fdt_version(blob)); in __unflatten_device_tree()
390 if (fdt_check_header(blob)) { in __unflatten_device_tree()
391 pr_err("Invalid device tree blob header\n"); in __unflatten_device_tree()
396 size = unflatten_dt_nodes(blob, NULL, dad, NULL); in __unflatten_device_tree()
415 ret = unflatten_dt_nodes(blob, mem, dad, mynodes); in __unflatten_device_tree()
441 * of_fdt_unflatten_tree - create tree of device_nodes from flat blob
442 * @blob: Flat device tree blob
454 void *of_fdt_unflatten_tree(const unsigned long *blob, in of_fdt_unflatten_tree() argument
461 mem = __unflatten_device_tree(blob, dad, mynodes, &kernel_tree_alloc, in of_fdt_unflatten_tree()
653 * early_init_fdt_reserve_self() - reserve the memory used by the FDT blob
666 * of_scan_flat_dt - scan flattened tree blob and call callback on each.
679 const void *blob = initial_boot_params; in of_scan_flat_dt() local
683 if (!blob) in of_scan_flat_dt()
686 for (offset = fdt_next_node(blob, -1, &depth); in of_scan_flat_dt()
688 offset = fdt_next_node(blob, offset, &depth)) { in of_scan_flat_dt()
690 pathp = fdt_get_name(blob, offset, NULL); in of_scan_flat_dt()
710 const void *blob = initial_boot_params; in of_scan_flat_dt_subnodes() local
713 fdt_for_each_subnode(node, blob, parent) { in of_scan_flat_dt_subnodes()
717 pathp = fdt_get_name(blob, node, NULL); in of_scan_flat_dt_subnodes()
739 * of_get_flat_dt_root - find the root node in the flat blob
747 * of_get_flat_dt_prop - Given a node in the flat blob, return the property ptr
759 * of_fdt_is_compatible - Return true if given node from the given blob has
761 * @blob: A device tree blob
768 static int of_fdt_is_compatible(const void *blob, in of_fdt_is_compatible() argument
775 cp = fdt_getprop(blob, node, "compatible", &cplen); in of_fdt_is_compatible()
821 * of_get_flat_dt_phandle - Given a node in the flat blob, return the phandle
1322 * unflatten_device_tree - create tree of device_nodes from flat blob
1341 * unflatten_and_copy_device_tree - copy and create tree of device_nodes from flat blob