fdt_delprop(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… fdt_delprop β€” the fdt_delprop(9) page, but make it make sense

okay so you found yourself in the fdt_delprop(9) page of the Kernel API Manual and you're like "what is this" β€” don't worry bestie, I got you. This is the little libfdt function that yeets a property out of a device tree blob, and yeah it's giving "small function, big consequences." Let's get into it πŸ¦‹


✨ NAME ✨

fdt_delprop β€” delete a property. That's it. That's the whole vibe. She removes things πŸŽ€


🌸 SYNOPSIS 🌸

int fdt_delprop (void *fdt , int nodeoffset , const char *name );

πŸ’– ARGUMENTS πŸ’–

  • fdt β€” pointer to the device tree blob. The blob in question. Your main character 🫢
  • nodeoffset β€” offset of the node whose property to nop. Like, which node are we doing surgery on.
  • name β€” name of the property to nop. The thing getting deleted. Say bye πŸ’€

πŸ‘‘ DESCRIPTION πŸ‘‘

fdt_delprop will delete the given property. Simple. Clean. Iconic.

⚠️ but listen β€” this function will delete data from the blob, and will therefore change the offsets of some existing nodes. So like… any offsets you were holding onto? They might be cooked now. Not a drill, fr fr 😭

⭐ RETURN ⭐

Here's the vibe check on what she hands back:

  • 0 β€” on success ✨ slay
  • -FDT_ERR_NOTFOUND β€” node does not have the named property. Nothing to delete, bestie πŸ™ˆ
  • -FDT_ERR_BADOFFSET β€” nodeoffset did not point to FDT_BEGIN_NODE tag. Wrong address, wrong energy πŸ’€
  • -FDT_ERR_BADLAYOUT, -FDT_ERR_BADMAGIC, -FDT_ERR_BADVERSION, -FDT_ERR_BADSTATE, -FDT_ERR_BADSTRUCTURE, -FDT_ERR_TRUNCATED β€” standard meanings. You know the drill, these are the classic libfdt error girlies πŸ”₯

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./scripts/dtc/libfdt/libfdt.h β€” and honestly the whole extended friend group:

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_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 I said. Big friend group. No cap 🌈


okay that's the whole page, bestie β€” go delete a property responsibly ✨

this one lives in ./scripts/dtc/libfdt and it's dated October 2026 β€” so yeah, fully up to date, periodt πŸ’…πŸŽ€

πŸ“¦ where this page comes from