fdt_node_offset_by_phandle(9)
π fdt_node_offset_by_phandle(9) β Kernel API Manual π
okay so bestie, welcome to the manual page for fdt_node_offset_by_phandle, straight out of the Kernel API Manual. Yes it's a mouthful, no you don't have to say it out loud, just know it's giving "find my node" energy and we're gonna walk through it together π«Ά
β¨ NAME β¨
fdt_node_offset_by_phandle β find the node with a given phandle
Like, that's literally it. It finds a node. By its phandle. Iconic behaviour honestly π
πΈ SYNOPSIS πΈ
int fdt_node_offset_by_phandle (const void *fdt , uint32_t phandle );
Two args, one int back. Simple. Elegant. Not messy. We love a compact signature π
π ARGUMENTS π
fdtβ pointer to the device tree blob π¦ this is your tree, your whole vibe, the thing you're searching throughphandleβ phandle value π₯ the number you're hunting for, no cap
π DESCRIPTION π
So fdt_node_offset_by_phandle returns the offset of the node which has the given phandle value. That's the whole job bestie, it's a lookup, and it ate π
but listen β if there is more than one node in the tree with the given phandle (an invalid tree π), results are undefined. Not "it picks the first one", not "it's fine". Undefined. So don't come crying to me if your tree is cursed π
β RETURN β
Here's what you get back, and you gotta read it carefully because there are several moods this function can be in:
- structure block offset of the located node (>= 0), on success β¨ slay, you found it
-FDT_ERR_NOTFOUNDβ no node with that phandle exists π it's just not there babe-FDT_ERR_BADPHANDLEβ given phandle value was invalid (0 or -1) π© yeah those two are not it-FDT_ERR_BADMAGIC,-FDT_ERR_BADVERSION,-FDT_ERR_BADSTATE,-FDT_ERR_BADSTRUCTUREβ standard meanings π
π¦ SEE ALSO π¦
grab a snack, this list is long and every single one of them is invited to the party π
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_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_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, go find your phandle π β¨
sign-off time π: this one lives in ./scripts/dtc/libfdt and it's dated October 2026, so like, future energy fr fr. mwah π
π¦ 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