fdt_setprop(9)
π NAME π
okay so bestie, let me introduce you to fdt_setprop from the Kernel API Manual. this icon's whole job? create or change a property. that's it. that's the vibe. π
β¨ SYNOPSIS β¨
int fdt_setprop (void *fdt , int nodeoffset , const char *name , const void *val , int len );
π ARGUMENTS π
fdtβ pointer to the device tree blob. like, the whole tree. the main character.nodeoffsetβ offset of the node whose property you're about to change. know your node, bestie.nameβ name of the property to change. yes, the actual string. be precise.valβ pointer to data to set the property value to. the new fit.lenβ length of the property value. don't forget this or it's giving chaos.
π¦ DESCRIPTION π¦
so fdt_setprop sets the value of the named property in the given node to the given value and length, and it creates the property if it does not already exist. lowkey iconic? it does both. no cap.
β οΈ warning bestie: this function may insert or delete data from the blob, and will therefore change the offsets of some existing nodes. so if you're holding onto an offset, it might not be valid after this call. fr fr, keep that in mind. π
π₯ RETURN π₯
here's the vibe check on return values:
0β on success. we ate. π-FDT_ERR_NOSPACEβ there is insufficient free space in the blob to contain the new property value. crying. π-FDT_ERR_BADOFFSETβnodeoffsetdid not point toFDT_BEGIN_NODEtag. wrong door, bestie.-FDT_ERR_BADLAYOUTβ standard meaning.-FDT_ERR_BADMAGICβ standard meaning.-FDT_ERR_BADVERSIONβ standard meaning.-FDT_ERR_BADSTATEβ standard meaning.-FDT_ERR_BADSTRUCTUREβ standard meaning.-FDT_ERR_BADLAYOUTβ standard meaning. (yes, it's listed twice in the source. not me being messy. iykyk.)-FDT_ERR_TRUNCATEDβ standard meaning.
π SEE ALSO π
okay the friend group is HUGE but every single one is here, no skips, periodt. start with the kernel file, then go down the list:
- the 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_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_apply(9)fdt_overlay_target_offset(9)fdt_strerror(9)
and that's the whole page, bestie. this one lives at ./scripts/dtc/libfdt, dated October 2026, and it's all about fdt_setprop(9). now go set some properties, slay, and remember: offsets may change. bye! πβ¨
π¦ 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