fdt_add_subnode(9)
π fdt_add_subnode(9) π
okay so bestie, this is the fdt_add_subnode(9) page from the Kernel API Manual, and it's literally the βmake a new subnodeβ icon. no cap, it's giving device-tree glow-up energy. πΈ
β¨ NAME β¨
fdt_add_subnode β creates a new node. periodt.
β¨ SYNOPSIS β¨
int fdt_add_subnode (void *fdt , int parentoffset , const char *name );
β¨ ARGUMENTS β¨
fdtβ pointer to the device tree blob. π«Άparentoffsetβ structure block offset of a node.nameβ name of the subnode to locate.
β¨ DESCRIPTION β¨
fdt_add_subnode creates a new node as a subnode of the node at structure block offset parentoffset, with the given name β and that name should include the unit address, if any. π
β οΈ heads up bestie: this function will insert data into the blob, and will therefore change the offsets of some existing nodes. that's not a vibe check you can ignore. π
β¨ RETURN β¨
- structure block offset of the created subnode (
>=0), on success π -FDT_ERR_NOTFOUND, if the requested subnode does not exist-FDT_ERR_BADOFFSET, ifparentoffsetdid not point to anFDT_BEGIN_NODEtag-FDT_ERR_EXISTS, if the node atparentoffsetalready has a subnode of the given name-FDT_ERR_NOSPACE, if there is insufficient free space in the blob to contain the new node-FDT_ERR_NOSPACE-FDT_ERR_BADLAYOUT-FDT_ERR_BADMAGIC,-FDT_ERR_BADVERSION,-FDT_ERR_BADSTATE,-FDT_ERR_BADSTRUCTURE,-FDT_ERR_TRUNCATED, standard meanings.
and yes, the original really does list -FDT_ERR_NOSPACE twice β not me being messy, I'm just preserving the lore. π
π« SEE ALSO π«
the kernel file is ./scripts/dtc/libfdt/libfdt.h, and here's the whole squad of references exactly as listed:
Kernel file ./scripts/dtc/libfdt/libfdt.h 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_del_node(9), fdt_overlay_apply(9), fdt_overlay_target_offset(9),
fdt_strerror(9)
so yeah π that's the whole page. source/version: ./scripts/dtc/libfdt; date: October 2026; manual: fdt_add_subnode(9). slay, you're welcome. ππ
π¦ 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