Lines Matching refs:fdto
22 static uint32_t overlay_get_target_phandle(const void *fdto, int fragment) in overlay_get_target_phandle() argument
27 val = fdt_getprop(fdto, fragment, "target", &len); in overlay_get_target_phandle()
52 static int overlay_get_target(const void *fdt, const void *fdto, in overlay_get_target() argument
60 phandle = overlay_get_target_phandle(fdto, fragment); in overlay_get_target()
67 path = fdt_getprop(fdto, fragment, "target-path", &path_len); in overlay_get_target()
150 static int overlay_adjust_node_phandles(void *fdto, int node, in overlay_adjust_node_phandles() argument
156 ret = overlay_phandle_add_offset(fdto, node, "phandle", delta); in overlay_adjust_node_phandles()
160 ret = overlay_phandle_add_offset(fdto, node, "linux,phandle", delta); in overlay_adjust_node_phandles()
164 fdt_for_each_subnode(child, fdto, node) { in overlay_adjust_node_phandles()
165 ret = overlay_adjust_node_phandles(fdto, child, delta); in overlay_adjust_node_phandles()
187 static int overlay_adjust_local_phandles(void *fdto, uint32_t delta) in overlay_adjust_local_phandles() argument
192 return overlay_adjust_node_phandles(fdto, 0, delta); in overlay_adjust_local_phandles()
214 static int overlay_update_local_node_references(void *fdto, in overlay_update_local_node_references() argument
223 fdt_for_each_property_offset(fixup_prop, fdto, fixup_node) { in overlay_update_local_node_references()
231 fixup_val = fdt_getprop_by_offset(fdto, fixup_prop, in overlay_update_local_node_references()
239 tree_val = fdt_getprop(fdto, tree_node, name, &tree_len); in overlay_update_local_node_references()
263 ret = fdt_setprop_inplace_namelen_partial(fdto, in overlay_update_local_node_references()
278 fdt_for_each_subnode(fixup_child, fdto, fixup_node) { in overlay_update_local_node_references()
279 const char *fixup_child_name = fdt_get_name(fdto, fixup_child, in overlay_update_local_node_references()
283 tree_child = fdt_subnode_offset(fdto, tree_node, in overlay_update_local_node_references()
290 ret = overlay_update_local_node_references(fdto, in overlay_update_local_node_references()
318 static int overlay_update_local_references(void *fdto, uint32_t delta) in overlay_update_local_references() argument
322 fixups = fdt_path_offset(fdto, "/__local_fixups__"); in overlay_update_local_references()
334 return overlay_update_local_node_references(fdto, 0, fixups, in overlay_update_local_references()
361 static int overlay_fixup_one_phandle(void *fdt, void *fdto, in overlay_fixup_one_phandle() argument
389 fixup_off = fdt_path_offset_namelen(fdto, path, path_len); in overlay_fixup_one_phandle()
396 return fdt_setprop_inplace_namelen_partial(fdto, fixup_off, in overlay_fixup_one_phandle()
421 static int overlay_fixup_phandle(void *fdt, void *fdto, int symbols_off, in overlay_fixup_phandle() argument
428 value = fdt_getprop_by_offset(fdto, property, in overlay_fixup_phandle()
476 ret = overlay_fixup_one_phandle(fdt, fdto, symbols_off, in overlay_fixup_phandle()
503 static int overlay_fixup_phandles(void *fdt, void *fdto) in overlay_fixup_phandles() argument
509 fixups_off = fdt_path_offset(fdto, "/__fixups__"); in overlay_fixup_phandles()
520 fdt_for_each_property_offset(property, fdto, fixups_off) { in overlay_fixup_phandles()
523 ret = overlay_fixup_phandle(fdt, fdto, symbols_off, property); in overlay_fixup_phandles()
551 void *fdto, int node) in overlay_apply_node() argument
556 fdt_for_each_property_offset(property, fdto, node) { in overlay_apply_node()
562 prop = fdt_getprop_by_offset(fdto, property, &name, in overlay_apply_node()
574 fdt_for_each_subnode(subnode, fdto, node) { in overlay_apply_node()
575 const char *name = fdt_get_name(fdto, subnode, NULL); in overlay_apply_node()
589 ret = overlay_apply_node(fdt, nnode, fdto, subnode); in overlay_apply_node()
612 static int overlay_merge(void *fdt, void *fdto) in overlay_merge() argument
616 fdt_for_each_subnode(fragment, fdto, 0) { in overlay_merge()
625 overlay = fdt_subnode_offset(fdto, fragment, "__overlay__"); in overlay_merge()
632 target = overlay_get_target(fdt, fdto, fragment, NULL); in overlay_merge()
636 ret = overlay_apply_node(fdt, target, fdto, overlay); in overlay_merge()
688 static int overlay_symbol_update(void *fdt, void *fdto) in overlay_symbol_update() argument
701 ov_sym = fdt_subnode_offset(fdto, 0, "__symbols__"); in overlay_symbol_update()
718 fdt_for_each_property_offset(prop, fdto, ov_sym) { in overlay_symbol_update()
719 path = fdt_getprop_by_offset(fdto, prop, &name, &path_len); in overlay_symbol_update()
752 ret = fdt_subnode_offset_namelen(fdto, 0, frag_name, in overlay_symbol_update()
760 ret = fdt_subnode_offset(fdto, fragment, "__overlay__"); in overlay_symbol_update()
765 ret = overlay_get_target(fdt, fdto, fragment, &target_path); in overlay_symbol_update()
787 ret = overlay_get_target(fdt, fdto, fragment, &target_path); in overlay_symbol_update()
813 int fdt_overlay_apply(void *fdt, void *fdto) in fdt_overlay_apply() argument
819 FDT_CHECK_HEADER(fdto); in fdt_overlay_apply()
821 ret = overlay_adjust_local_phandles(fdto, delta); in fdt_overlay_apply()
825 ret = overlay_update_local_references(fdto, delta); in fdt_overlay_apply()
829 ret = overlay_fixup_phandles(fdt, fdto); in fdt_overlay_apply()
833 ret = overlay_merge(fdt, fdto); in fdt_overlay_apply()
837 ret = overlay_symbol_update(fdt, fdto); in fdt_overlay_apply()
844 fdt_set_magic(fdto, ~0); in fdt_overlay_apply()
852 fdt_set_magic(fdto, ~0); in fdt_overlay_apply()