Lines Matching full:blob
82 static bool of_fdt_device_is_available(const void *blob, unsigned long node) in of_fdt_device_is_available() argument
84 const char *status = fdt_getprop(blob, node, "status", NULL); in of_fdt_device_is_available()
107 static void populate_properties(const void *blob, in populate_properties() argument
119 for (cur = fdt_first_property_offset(blob, offset); in populate_properties()
121 cur = fdt_next_property_offset(blob, cur)) { in populate_properties()
126 val = fdt_getprop_by_offset(blob, cur, &pname, &sz); in populate_properties()
208 static bool populate_node(const void *blob, in populate_node() argument
219 pathp = fdt_get_name(blob, offset, &l); in populate_node()
243 populate_properties(blob, offset, mem, np, pathp, dryrun); in populate_node()
280 * @blob: The parent device tree blob
287 static int unflatten_dt_nodes(const void *blob, in unflatten_dt_nodes() argument
317 offset = fdt_next_node(blob, offset, &depth)) { in unflatten_dt_nodes()
322 !of_fdt_device_is_available(blob, offset)) in unflatten_dt_nodes()
325 if (!populate_node(blob, offset, &mem, nps[depth], in unflatten_dt_nodes()
351 * __unflatten_device_tree - create tree of device_nodes from flat blob
352 * @blob: The blob to expand
366 void *__unflatten_device_tree(const void *blob, in __unflatten_device_tree() argument
377 if (!blob) { in __unflatten_device_tree()
383 pr_debug("magic: %08x\n", fdt_magic(blob)); in __unflatten_device_tree()
384 pr_debug("size: %08x\n", fdt_totalsize(blob)); in __unflatten_device_tree()
385 pr_debug("version: %08x\n", fdt_version(blob)); in __unflatten_device_tree()
387 if (fdt_check_header(blob)) { in __unflatten_device_tree()
388 pr_err("Invalid device tree blob header\n"); in __unflatten_device_tree()
393 size = unflatten_dt_nodes(blob, NULL, dad, NULL); in __unflatten_device_tree()
412 unflatten_dt_nodes(blob, mem, dad, mynodes); in __unflatten_device_tree()
434 * of_fdt_unflatten_tree - create tree of device_nodes from flat blob
435 * @blob: Flat device tree blob
447 void *of_fdt_unflatten_tree(const unsigned long *blob, in of_fdt_unflatten_tree() argument
454 mem = __unflatten_device_tree(blob, dad, mynodes, &kernel_tree_alloc, in of_fdt_unflatten_tree()
606 * early_init_fdt_reserve_self() - reserve the memory used by the FDT blob
620 * of_scan_flat_dt - scan flattened tree blob and call callback on each.
633 const void *blob = initial_boot_params; in of_scan_flat_dt() local
637 if (!blob) in of_scan_flat_dt()
640 for (offset = fdt_next_node(blob, -1, &depth); in of_scan_flat_dt()
642 offset = fdt_next_node(blob, offset, &depth)) { in of_scan_flat_dt()
644 pathp = fdt_get_name(blob, offset, NULL); in of_scan_flat_dt()
663 const void *blob = initial_boot_params; in of_scan_flat_dt_subnodes() local
666 fdt_for_each_subnode(node, blob, parent) { in of_scan_flat_dt_subnodes()
670 pathp = fdt_get_name(blob, node, NULL); in of_scan_flat_dt_subnodes()
692 * of_get_flat_dt_root - find the root node in the flat blob
700 * of_get_flat_dt_prop - Given a node in the flat blob, return the property ptr
712 * of_fdt_is_compatible - Return true if given node from the given blob has
714 * @blob: A device tree blob
721 static int of_fdt_is_compatible(const void *blob, in of_fdt_is_compatible() argument
728 cp = fdt_getprop(blob, node, "compatible", &cplen); in of_fdt_is_compatible()
774 * of_get_flat_dt_prop - Given a node in the flat blob, return the phandle
1221 * unflatten_device_tree - create tree of device_nodes from flat blob
1240 * unflatten_and_copy_device_tree - copy and create tree of device_nodes from flat blob