fdt_nop_property(9)
π fdt_nop_property(9) β kernel API manual, but make it cute
okay bestie, so this is a page from the kernel API manual, section 9 β the one and only fdt_nop_property(9). she's a little libfdt girlie and she's here to help you ghost a property. π«Ά
β¨ NAME β¨
fdt_nop_property β replace a property with nop tags π
like, we're not deleting deleting, we're just tagging it as "nope, nothing to see here" β¨
πΈ SYNOPSIS πΈ
int fdt_nop_property (void *fdt , int nodeoffset , const char *name );
three args, one int back, no cap. π₯
π ARGUMENTS π
fdtβ pointer to the device tree blob. yes girl, the whole blob. this is your little tree of nodes and she's the main character.nodeoffsetβ offset of the node whose property to nop. gotta know which node you're being shady about before you start nop-ing.nameβ name of the property to nop. lowercase bestie, this is the exact property name you want to send to the shadow realm (well, theFDT_NOPrealm π).
π¦ DESCRIPTION π¦
so what fdt_nop_property does is: it takes a given property's representation in the blob and replaces it with FDT_NOP tags β which effectively removes it from the tree. it's giving "gone but technically still there". iconic behaviour honestly. π
and the way this is so polite β this function will alter only the bytes in the blob which contain the property. that's it. it will not alter or move any other part of the tree. no chaos, no collateral, no shifting your whole tree around like some kind of monster. just surgical little nop tags and peace out. π
β RETURN β
0β on success π slay!-FDT_ERR_NOTFOUNDβ node does not have the named property. she checked, it's not there, awkward. π-FDT_ERR_BADOFFSETβnodeoffsetdid not point toFDT_BEGIN_NODEtag. wrong address bestie, that's not a node start. π-FDT_ERR_BADMAGIC,-FDT_ERR_BADVERSION,-FDT_ERR_BADSTATE,-FDT_ERR_BADSTRUCTURE,-FDT_ERR_TRUNCATEDβ standard meanings π (yes, all of these, they're the usual suspects)
π SEE ALSO π
okay this is the long part, but every single one of these gets their shoutout, periodt. 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_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)
iykyk, that's the whole squad. no one left behind. π«Ά
lowkey reminder bestie: this page lives in ./scripts/dtc/libfdt, and the version/date situation is October 2026 β so yeah, she's dated, but she ate. π
that's the whole page, mwah, go nop some properties responsibly π§β¨π
π¦ 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