Lines Matching defs:fdto

16  * @fdto: pointer to the device tree overlay blob
28 static uint32_t overlay_get_target_phandle(const void *fdto, int fragment)
33 val = fdt_getprop(fdto, fragment, "target", &len);
43 int fdt_overlay_target_offset(const void *fdt, const void *fdto,
51 phandle = overlay_get_target_phandle(fdto, fragment_offset);
58 path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len);
128 * @fdto: Device tree overlay blob
141 static int overlay_adjust_node_phandles(void *fdto, int node,
147 ret = overlay_phandle_add_offset(fdto, node, "phandle", delta);
151 ret = overlay_phandle_add_offset(fdto, node, "linux,phandle", delta);
155 fdt_for_each_subnode(child, fdto, node) {
156 ret = overlay_adjust_node_phandles(fdto, child, delta);
166 * @fdto: Device tree overlay blob
178 static int overlay_adjust_local_phandles(void *fdto, uint32_t delta)
183 return overlay_adjust_node_phandles(fdto, 0, delta);
188 * @fdto: Device tree overlay blob
205 static int overlay_update_local_node_references(void *fdto,
214 fdt_for_each_property_offset(fixup_prop, fdto, fixup_node) {
222 fixup_val = fdt_getprop_by_offset(fdto, fixup_prop,
231 tree_val = fdt_getprop(fdto, tree_node, name, &tree_len);
255 ret = fdt_setprop_inplace_namelen_partial(fdto,
270 fdt_for_each_subnode(fixup_child, fdto, fixup_node) {
271 const char *fixup_child_name = fdt_get_name(fdto, fixup_child,
275 tree_child = fdt_subnode_offset(fdto, tree_node,
282 ret = overlay_update_local_node_references(fdto,
295 * @fdto: Device tree overlay blob
310 static int overlay_update_local_references(void *fdto, uint32_t delta)
314 fixups = fdt_path_offset(fdto, "/__local_fixups__");
326 return overlay_update_local_node_references(fdto, 0, fixups,
333 * @fdto: Device tree overlay blob
353 static int overlay_fixup_one_phandle(void *fdt, void *fdto,
381 fixup_off = fdt_path_offset_namelen(fdto, path, path_len);
388 return fdt_setprop_inplace_namelen_partial(fdto, fixup_off,
397 * @fdto: Device tree overlay blob
413 static int overlay_fixup_phandle(void *fdt, void *fdto, int symbols_off,
420 value = fdt_getprop_by_offset(fdto, property,
468 ret = overlay_fixup_one_phandle(fdt, fdto, symbols_off,
482 * @fdto: Device tree overlay blob
495 static int overlay_fixup_phandles(void *fdt, void *fdto)
501 fixups_off = fdt_path_offset(fdto, "/__fixups__");
512 fdt_for_each_property_offset(property, fdto, fixups_off) {
515 ret = overlay_fixup_phandle(fdt, fdto, symbols_off, property);
527 * @fdto: Device tree overlay blob
543 void *fdto, int node)
548 fdt_for_each_property_offset(property, fdto, node) {
554 prop = fdt_getprop_by_offset(fdto, property, &name,
566 fdt_for_each_subnode(subnode, fdto, node) {
567 const char *name = fdt_get_name(fdto, subnode, NULL);
581 ret = overlay_apply_node(fdt, nnode, fdto, subnode);
592 * @fdto: Device tree overlay blob
604 static int overlay_merge(void *fdt, void *fdto)
608 fdt_for_each_subnode(fragment, fdto, 0) {
617 overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
624 target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL);
628 ret = overlay_apply_node(fdt, target, fdto, overlay);
667 * @fdto: Device tree overlay blob
680 static int overlay_symbol_update(void *fdt, void *fdto)
693 ov_sym = fdt_subnode_offset(fdto, 0, "__symbols__");
710 fdt_for_each_property_offset(prop, fdto, ov_sym) {
711 path = fdt_getprop_by_offset(fdto, prop, &name, &path_len);
754 ret = fdt_subnode_offset_namelen(fdto, 0, frag_name,
762 ret = fdt_subnode_offset(fdto, fragment, "__overlay__");
767 ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
789 ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
815 int fdt_overlay_apply(void *fdt, void *fdto)
821 FDT_RO_PROBE(fdto);
827 ret = overlay_adjust_local_phandles(fdto, delta);
831 ret = overlay_update_local_references(fdto, delta);
835 ret = overlay_fixup_phandles(fdt, fdto);
839 ret = overlay_merge(fdt, fdto);
843 ret = overlay_symbol_update(fdt, fdto);
850 fdt_set_magic(fdto, ~0);
858 fdt_set_magic(fdto, ~0);