fdt_appendprop_u32(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ fdt_appendprop_u32(9) πŸ’…

Okay so bestie, welcome to the fdt_appendprop_u32 page from the Kernel API Manual β€” this is the little libfdt icon that appends a 32-bit integer value onto a property, and honestly? It eats. πŸ“


🌸 SYNOPSIS 🌸

int fdt_appendprop_u32 (void *fdt , int nodeoffset , const char *name ,
uint32_t val );

That's the whole vibe. Four args, one int back. No cap. ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • fdt β€” pointer to the device tree blob, aka the main character of literally every libfdt function ever.
  • nodeoffset β€” offset of the node whose property you're changing. You gotta know where you're at, iykyk.
  • name β€” name of the property to change.
  • val β€” the 32-bit integer value to append to the property (native endian, so don't stress about byte order yourself, she handles it πŸ”₯).

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea: fdt_appendprop_u32 takes that 32-bit integer value you handed it and appends it to the value of the named property in the given node. Converting to big-endian if necessary? Yeah, she does that too, unprompted, because she's thoughtful like that. 🫢

And if the property doesn't already exist? Not a problem β€” she just creates a new property with that value. Not me being generous with my time, it's giving ✨flexible✨.

⚠️ Heads up bestie: this function may insert data into the blob, and will therefore change the offsets of some existing nodes. So like, don't go holding onto old offsets and acting surprised, okay? 😭

πŸ‘‘ RETURN πŸ‘‘

  • 0 β€” on success, slay πŸ’…
  • -FDT_ERR_NOSPACE β€” there's insufficient free space in the blob to contain the new property value. She's full, babe.
  • -FDT_ERR_BADOFFSET β€” nodeoffset did not point to FDT_BEGIN_NODE tag.
  • -FDT_ERR_BADLAYOUT, -FDT_ERR_BADMAGIC, -FDT_ERR_BADVERSION, -FDT_ERR_BADSTATE, -FDT_ERR_BADSTRUCTURE, -FDT_ERR_BADLAYOUT, -FDT_ERR_TRUNCATED β€” standard meanings. Yeah -FDT_ERR_BADLAYOUT shows up twice in the list, and yes we're leaving it exactly like that because facts are facts. πŸ’€

🌈 SEE ALSO 🌈

Kernel file ./scripts/dtc/libfdt/libfdt.h

And now the full friend group, in original order, no one left out:

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_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)

Like, that's the whole group chat. 🧚


And that's the page, bestie! Brought to you by ./scripts/dtc/libfdt, dated October 2026, and titled fdt_appendprop_u32(9) β€” go forth and append those u32s responsibly. πŸ’–πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from