Lines Matching refs:fdt
58 static int overlay_get_target(const void *fdt, const void *fdto, in overlay_get_target() argument
75 ret = fdt_path_offset(fdt, path); in overlay_get_target()
79 ret = fdt_node_offset_by_phandle(fdt, phandle); in overlay_get_target()
116 static int overlay_phandle_add_offset(void *fdt, int node, in overlay_phandle_add_offset() argument
123 val = fdt_getprop(fdt, node, name, &len); in overlay_phandle_add_offset()
138 return fdt_setprop_inplace_u32(fdt, node, name, adj_val); in overlay_phandle_add_offset()
368 static int overlay_fixup_one_phandle(void *fdt, void *fdto, in overlay_fixup_one_phandle() argument
383 symbol_path = fdt_getprop(fdt, symbols_off, label, in overlay_fixup_one_phandle()
388 symbol_off = fdt_path_offset(fdt, symbol_path); in overlay_fixup_one_phandle()
392 phandle = fdt_get_phandle(fdt, symbol_off); in overlay_fixup_one_phandle()
428 static int overlay_fixup_phandle(void *fdt, void *fdto, int symbols_off, in overlay_fixup_phandle() argument
483 ret = overlay_fixup_one_phandle(fdt, fdto, symbols_off, in overlay_fixup_phandle()
510 static int overlay_fixup_phandles(void *fdt, void *fdto) in overlay_fixup_phandles() argument
523 symbols_off = fdt_path_offset(fdt, "/__symbols__"); in overlay_fixup_phandles()
530 ret = overlay_fixup_phandle(fdt, fdto, symbols_off, property); in overlay_fixup_phandles()
557 static int overlay_apply_node(void *fdt, int target, in overlay_apply_node() argument
576 ret = fdt_setprop(fdt, target, name, prop, prop_len); in overlay_apply_node()
586 nnode = fdt_add_subnode(fdt, target, name); in overlay_apply_node()
588 nnode = fdt_subnode_offset(fdt, target, name); in overlay_apply_node()
596 ret = overlay_apply_node(fdt, nnode, fdto, subnode); in overlay_apply_node()
619 static int overlay_merge(void *fdt, void *fdto) in overlay_merge() argument
639 target = overlay_get_target(fdt, fdto, fragment, NULL); in overlay_merge()
643 ret = overlay_apply_node(fdt, target, fdto, overlay); in overlay_merge()
651 static int get_path_len(const void *fdt, int nodeoffset) in get_path_len() argument
656 FDT_RO_PROBE(fdt); in get_path_len()
659 name = fdt_get_name(fdt, nodeoffset, &namelen); in get_path_len()
667 nodeoffset = fdt_parent_offset(fdt, nodeoffset); in get_path_len()
695 static int overlay_symbol_update(void *fdt, void *fdto) in overlay_symbol_update() argument
714 root_sym = fdt_subnode_offset(fdt, 0, "__symbols__"); in overlay_symbol_update()
718 root_sym = fdt_add_subnode(fdt, 0, "__symbols__"); in overlay_symbol_update()
782 ret = overlay_get_target(fdt, fdto, fragment, &target_path); in overlay_symbol_update()
789 ret = get_path_len(fdt, target); in overlay_symbol_update()
797 ret = fdt_setprop_placeholder(fdt, root_sym, name, in overlay_symbol_update()
804 ret = overlay_get_target(fdt, fdto, fragment, &target_path); in overlay_symbol_update()
813 ret = fdt_get_path(fdt, target, buf, len + 1); in overlay_symbol_update()
830 int fdt_overlay_apply(void *fdt, void *fdto) in fdt_overlay_apply() argument
835 FDT_RO_PROBE(fdt); in fdt_overlay_apply()
838 ret = fdt_find_max_phandle(fdt, &delta); in fdt_overlay_apply()
850 ret = overlay_fixup_phandles(fdt, fdto); in fdt_overlay_apply()
854 ret = overlay_merge(fdt, fdto); in fdt_overlay_apply()
858 ret = overlay_symbol_update(fdt, fdto); in fdt_overlay_apply()
879 fdt_set_magic(fdt, ~0); in fdt_overlay_apply()