Lines Matching refs:fdto

28 static uint32_t overlay_get_target_phandle(const void *fdto, int fragment)  in overlay_get_target_phandle()  argument
33 val = fdt_getprop(fdto, fragment, "target", &len); in overlay_get_target_phandle()
43 int fdt_overlay_target_offset(const void *fdt, const void *fdto, in fdt_overlay_target_offset() argument
51 phandle = overlay_get_target_phandle(fdto, fragment_offset); in fdt_overlay_target_offset()
58 path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len); in fdt_overlay_target_offset()
137 static int overlay_adjust_node_phandles(void *fdto, int node, in overlay_adjust_node_phandles() argument
143 ret = overlay_phandle_add_offset(fdto, node, "phandle", delta); in overlay_adjust_node_phandles()
147 ret = overlay_phandle_add_offset(fdto, node, "linux,phandle", delta); in overlay_adjust_node_phandles()
151 fdt_for_each_subnode(child, fdto, node) { in overlay_adjust_node_phandles()
152 ret = overlay_adjust_node_phandles(fdto, child, delta); in overlay_adjust_node_phandles()
174 static int overlay_adjust_local_phandles(void *fdto, uint32_t delta) in overlay_adjust_local_phandles() argument
179 return overlay_adjust_node_phandles(fdto, 0, delta); in overlay_adjust_local_phandles()
201 static int overlay_update_local_node_references(void *fdto, in overlay_update_local_node_references() argument
210 fdt_for_each_property_offset(fixup_prop, fdto, fixup_node) { in overlay_update_local_node_references()
218 fixup_val = fdt_getprop_by_offset(fdto, fixup_prop, in overlay_update_local_node_references()
227 tree_val = fdt_getprop_w(fdto, tree_node, name, &tree_len); in overlay_update_local_node_references()
248 fdt_for_each_subnode(fixup_child, fdto, fixup_node) { in overlay_update_local_node_references()
249 const char *fixup_child_name = fdt_get_name(fdto, fixup_child, in overlay_update_local_node_references()
253 tree_child = fdt_subnode_offset(fdto, tree_node, in overlay_update_local_node_references()
260 ret = overlay_update_local_node_references(fdto, in overlay_update_local_node_references()
288 static int overlay_update_local_references(void *fdto, uint32_t delta) in overlay_update_local_references() argument
292 fixups = fdt_path_offset(fdto, "/__local_fixups__"); in overlay_update_local_references()
304 return overlay_update_local_node_references(fdto, 0, fixups, in overlay_update_local_references()
330 static int overlay_fixup_one_phandle(void *fdto, int symbols_off, in overlay_fixup_one_phandle() argument
341 fixup_off = fdt_path_offset_namelen(fdto, path, path_len); in overlay_fixup_one_phandle()
348 return fdt_setprop_inplace_namelen_partial(fdto, fixup_off, in overlay_fixup_one_phandle()
373 static int overlay_fixup_phandle(void *fdt, void *fdto, int symbols_off, in overlay_fixup_phandle() argument
384 value = fdt_getprop_by_offset(fdto, property, in overlay_fixup_phandle()
445 ret = overlay_fixup_one_phandle(fdto, symbols_off, in overlay_fixup_phandle()
472 static int overlay_fixup_phandles(void *fdt, void *fdto) in overlay_fixup_phandles() argument
478 fixups_off = fdt_path_offset(fdto, "/__fixups__"); in overlay_fixup_phandles()
489 fdt_for_each_property_offset(property, fdto, fixups_off) { in overlay_fixup_phandles()
492 ret = overlay_fixup_phandle(fdt, fdto, symbols_off, property); in overlay_fixup_phandles()
510 static int overlay_adjust_local_conflicting_phandle(void *fdto, int node, in overlay_adjust_local_conflicting_phandle() argument
516 php = fdt_getprop(fdto, node, "phandle", &len); in overlay_adjust_local_conflicting_phandle()
518 ret = fdt_setprop_inplace_u32(fdto, node, "phandle", fdt_phandle); in overlay_adjust_local_conflicting_phandle()
523 php = fdt_getprop(fdto, node, "linux,phandle", &len); in overlay_adjust_local_conflicting_phandle()
525 ret = fdt_setprop_inplace_u32(fdto, node, "linux,phandle", fdt_phandle); in overlay_adjust_local_conflicting_phandle()
547 static int overlay_update_node_conflicting_references(void *fdto, int tree_node, in overlay_update_node_conflicting_references() argument
556 fdt_for_each_property_offset(fixup_prop, fdto, fixup_node) { in overlay_update_node_conflicting_references()
564 fixup_val = fdt_getprop_by_offset(fdto, fixup_prop, in overlay_update_node_conflicting_references()
573 tree_val = fdt_getprop_w(fdto, tree_node, name, &tree_len); in overlay_update_node_conflicting_references()
593 fdt_for_each_subnode(fixup_child, fdto, fixup_node) { in overlay_update_node_conflicting_references()
594 const char *fixup_child_name = fdt_get_name(fdto, fixup_child, NULL); in overlay_update_node_conflicting_references()
597 tree_child = fdt_subnode_offset(fdto, tree_node, fixup_child_name); in overlay_update_node_conflicting_references()
604 ret = overlay_update_node_conflicting_references(fdto, tree_child, in overlay_update_node_conflicting_references()
627 static int overlay_update_local_conflicting_references(void *fdto, in overlay_update_local_conflicting_references() argument
633 fixups = fdt_path_offset(fdto, "/__local_fixups__"); in overlay_update_local_conflicting_references()
639 return overlay_update_node_conflicting_references(fdto, 0, fixups, in overlay_update_local_conflicting_references()
656 void *fdto, int fdtonode) in overlay_prevent_phandle_overwrite_node() argument
662 fdto_phandle = fdt_get_phandle(fdto, fdtonode); in overlay_prevent_phandle_overwrite_node()
667 ret = overlay_adjust_local_conflicting_phandle(fdto, fdtonode, in overlay_prevent_phandle_overwrite_node()
672 ret = overlay_update_local_conflicting_references(fdto, in overlay_prevent_phandle_overwrite_node()
679 fdt_for_each_subnode(fdtochild, fdto, fdtonode) { in overlay_prevent_phandle_overwrite_node()
680 const char *name = fdt_get_name(fdto, fdtochild, NULL); in overlay_prevent_phandle_overwrite_node()
693 fdto, fdtochild); in overlay_prevent_phandle_overwrite_node()
714 static int overlay_prevent_phandle_overwrite(void *fdt, void *fdto) in overlay_prevent_phandle_overwrite() argument
718 fdt_for_each_subnode(fragment, fdto, 0) { in overlay_prevent_phandle_overwrite()
723 overlay = fdt_subnode_offset(fdto, fragment, "__overlay__"); in overlay_prevent_phandle_overwrite()
730 target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL); in overlay_prevent_phandle_overwrite()
741 fdto, overlay); in overlay_prevent_phandle_overwrite()
769 void *fdto, int node) in overlay_apply_node() argument
774 fdt_for_each_property_offset(property, fdto, node) { in overlay_apply_node()
780 prop = fdt_getprop_by_offset(fdto, property, &name, in overlay_apply_node()
792 fdt_for_each_subnode(subnode, fdto, node) { in overlay_apply_node()
793 const char *name = fdt_get_name(fdto, subnode, NULL); in overlay_apply_node()
807 ret = overlay_apply_node(fdt, nnode, fdto, subnode); in overlay_apply_node()
830 static int overlay_merge(void *fdt, void *fdto) in overlay_merge() argument
834 fdt_for_each_subnode(fragment, fdto, 0) { in overlay_merge()
843 overlay = fdt_subnode_offset(fdto, fragment, "__overlay__"); in overlay_merge()
850 target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL); in overlay_merge()
854 ret = overlay_apply_node(fdt, target, fdto, overlay); in overlay_merge()
906 static int overlay_symbol_update(void *fdt, void *fdto) in overlay_symbol_update() argument
919 ov_sym = fdt_subnode_offset(fdto, 0, "__symbols__"); in overlay_symbol_update()
936 fdt_for_each_property_offset(prop, fdto, ov_sym) { in overlay_symbol_update()
937 path = fdt_getprop_by_offset(fdto, prop, &name, &path_len); in overlay_symbol_update()
980 ret = fdt_subnode_offset_namelen(fdto, 0, frag_name, in overlay_symbol_update()
988 ret = fdt_subnode_offset(fdto, fragment, "__overlay__"); in overlay_symbol_update()
993 ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path); in overlay_symbol_update()
1015 ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path); in overlay_symbol_update()
1041 int fdt_overlay_apply(void *fdt, void *fdto) in fdt_overlay_apply() argument
1047 FDT_RO_PROBE(fdto); in fdt_overlay_apply()
1054 ret = overlay_adjust_local_phandles(fdto, delta); in fdt_overlay_apply()
1059 ret = overlay_update_local_references(fdto, delta); in fdt_overlay_apply()
1064 ret = overlay_fixup_phandles(fdt, fdto); in fdt_overlay_apply()
1069 ret = overlay_prevent_phandle_overwrite(fdt, fdto); in fdt_overlay_apply()
1073 ret = overlay_merge(fdt, fdto); in fdt_overlay_apply()
1077 ret = overlay_symbol_update(fdt, fdto); in fdt_overlay_apply()
1084 fdt_set_magic(fdto, ~0); in fdt_overlay_apply()
1092 fdt_set_magic(fdto, ~0); in fdt_overlay_apply()