fdt_setprop_inplace_u32(9)
π fdt_setprop_inplace_u32
okay so bestie, welcome to the Kernel API Manual β¨ β this one's a little gem from the device-tree squad and honestly it does exactly one thing and does it slay.
πΈ NAME
fdt_setprop_inplace_u32 β change the value of a 32-bit integer property π
π¦ SYNOPSIS
int fdt_setprop_inplace_u32 (void *fdt , int nodeoffset , const char
*name , uint32_t val );
β¨ ARGUMENTS
fdtβ pointer to the device tree blob π«Ά (the whole vibe, the entire tree, your main character)nodeoffsetβ offset of the node whose property to changenameβ name of the property to changevalβ 32-bit integer value to replace the property with π
π DESCRIPTION
so fdt_setprop_inplace_u32 replaces the value of a given property with the 32-bit integer value in val, converting val to big-endian if necessary π₯. lowkey important: this function cannot change the size of a property, so it will only work if the property already exists and has length 4. no resizing, no growth spurts, no new props β it's an in-place glow-up only π
.
and the cute part: this function will alter only the bytes in the blob which contain the given property value, and will not alter or move any other part of the tree π. surgical. precise. iconic. the rest of the tree doesn't even notice.
ngl this is the "swap the number, touch nothing else" function β if the property's not already exactly 4 bytes, bestie, it's not happening π
π RETURN
0β on success β¨-FDT_ERR_NOSPACEβ if the property's length is not equal to4-FDT_ERR_NOTFOUNDβ node does not have the named property-FDT_ERR_BADOFFSETβnodeoffsetdid not point toFDT_BEGIN_NODEtag-FDT_ERR_BADMAGIC,-FDT_ERR_BADVERSION,-FDT_ERR_BADSTATE,-FDT_ERR_BADSTRUCTURE,-FDT_ERR_TRUNCATEDβ standard meanings π
π§ SEE ALSO
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_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_apply(9), fdt_overlay_target_offset(9), fdt_strerror(9)
okay that's the whole page, no cap π this icon lives in ./scripts/dtc/libfdt, it's dated October 2026, and yes it's fdt_setprop_inplace_u32(9) all the way down. go forth and modify exactly four bytes, bestie π§β¨π«Ά
π¦ 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