fdt_overlay_apply(9)
β¨ fdt_overlay_apply(9) β¨
okay bestie, this one is straight outta the Kernel API Manual and it's literally about slapping a device tree overlay onto a base device tree. main character energy for embedded girlies π
πΈ NAME πΈ
fdt_overlay_apply β Applies a DT overlay on a base DT
π SYNOPSIS π
int fdt_overlay_apply (void *fdt , void *fdto );
π¦ ARGUMENTS π¦
fdtβ pointer to the base device tree blobfdtoβ pointer to the device tree overlay blob
π DESCRIPTION π
So fdt_overlay_apply will apply the given device tree overlay on the given base device tree. That's the vibe. It takes your overlay blob and does its little merge moment onto the base blob.
β οΈ okay but listen: expect the base device tree to be modified, even if the function returns an error. likeβ¦ do not assume a failed return means the base DT is untouched. that part is important, no cap π
π₯ RETURN π₯
The return type is int, and here's the whole mood ring:
0β on success, we love that for us π-FDT_ERR_NOSPACEβ there's not enough space in the base device tree-FDT_ERR_NOTFOUNDβ the overlay points to some nonexistent nodes or properties in the base DT-FDT_ERR_BADPHANDLE,-FDT_ERR_BADOVERLAY,-FDT_ERR_NOPHANDLES,-FDT_ERR_INTERNAL,-FDT_ERR_BADLAYOUT,-FDT_ERR_BADMAGIC,-FDT_ERR_BADOFFSET,-FDT_ERR_BADPATH,-FDT_ERR_BADVERSION,-FDT_ERR_BADSTRUCTURE,-FDT_ERR_BADSTATE,-FDT_ERR_TRUNCATEDβ standard meanings
π SEE ALSO π
Kernel file: ./scripts/dtc/libfdt/libfdt.h β go read it, iykyk π«Ά
fdt_offset_ptr(9),fdt_next_tag(9),fdt_first_subnode(9),fdt_next_subnode(9),fdt_for_each_subnode(9),fdt_header_size(9),fdt_header_size_(9),fdt_check_header(9),fdt_move(9),fdt_check_full(9),fdt_get_string(9),fdt_string(9),fdt_find_max_phandle(9),fdt_get_max_phandle(9),fdt_generate_phandle(9),fdt_num_mem_rsv(9),fdt_get_mem_rsv(9)fdt_subnode_offset_namelen(9),fdt_subnode_offset(9),fdt_path_offset_namelen(9),fdt_path_offset(9),fdt_get_name(9),fdt_first_property_offset(9),fdt_next_property_offset(9),fdt_for_each_property_offset(9),fdt_get_property_by_offset(9),fdt_get_property_namelen(9),fdt_get_property(9),fdt_getprop_by_offset(9),fdt_getprop_namelen(9),fdt_getprop(9),fdt_get_phandle(9),fdt_get_alias_namelen(9),fdt_get_alias(9),fdt_get_symbol_namelen(9),fdt_get_symbol(9),fdt_get_path(9)fdt_supernode_atdepth_offset(9),fdt_node_depth(9),fdt_parent_offset(9),fdt_node_offset_by_prop_value(9),fdt_node_offset_by_phandle(9),fdt_node_check_compatible(9),fdt_node_offset_by_compatible(9),fdt_stringlist_contains(9),fdt_stringlist_count(9),fdt_stringlist_search(9),fdt_stringlist_get(9),FDT_MAX_NCELLS(9),fdt_address_cells(9),fdt_size_cells(9)fdt_setprop_inplace_namelen_partial(9),fdt_setprop_inplace(9),fdt_setprop_inplace_u32(9),fdt_setprop_inplace_u64(9),fdt_setprop_inplace_cell(9),fdt_nop_property(9),fdt_nop_node(9),fdt_create_with_flags(9),fdt_create(9),fdt_resize(9),fdt_add_reservemap_entry(9),fdt_finish_reservemap(9),fdt_begin_node(9),fdt_property(9),fdt_property_placeholder(9),fdt_end_node(9),fdt_finish(9),fdt_create_empty_tree(9),fdt_open_into(9),fdt_pack(9),fdt_add_mem_rsv(9),fdt_del_mem_rsv(9),fdt_set_name(9),fdt_setprop_namelen(9),fdt_setprop(9),fdt_setprop_placeholder_namelen(9),fdt_setprop_placeholder(9),fdt_setprop_u32(9),fdt_setprop_u64(9),fdt_setprop_cell(9),fdt_setprop_string(9),fdt_setprop_namelen_string(9),fdt_setprop_empty(9),fdt_appendprop(9),fdt_appendprop_u32(9),fdt_appendprop_u64(9),fdt_appendprop_cell(9),fdt_appendprop_string(9),fdt_appendprop_addrrange(9),fdt_delprop(9),fdt_add_subnode_namelen(9),fdt_add_subnode(9),fdt_del_node(9),fdt_overlay_target_offset(9),fdt_strerror(9)
cute little sign-off bestie: source/version is ./scripts/dtc/libfdt, dated October 2026. mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms