fdt_get_max_phandle(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… fdt_get_max_phandle(9) ✨

okay so we're in the Kernel API Manual bestie, and today's main character is fdt_get_max_phandle β€” she finds the biggest phandle in your tree and she does it with attitude πŸŽ€


🌸 NAME 🌸

fdt_get_max_phandle β€” retrieves the highest phandle in a tree πŸ”₯


✨ SYNOPSIS ✨

uint32_t fdt_get_max_phandle (const void *fdt );

like literally that's the whole vibe check, one function, one pointer, no drama πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • fdt β€” pointer to the device tree blob. yes it's a const void *, yes she's mysterious, no we don't ask questions πŸ’œ

πŸ’– DESCRIPTION πŸ’–

okay so fdt_get_max_phandle retrieves the highest phandle in the given device tree. that's the whole job. that's the assignment and she ate πŸ“

she's a little picky tho ngl β€” she will ignore badly formatted phandles, and she also ignores phandles with a value of 0 or -1. not her problem, not her business, she's moving on πŸ™ˆ

⚠️ bestie listen to me. This function is deprecated in favour of fdt_find_max_phandle. like she still works but she's basically legacy main character energy now β€” the glow-up is fdt_find_max_phandle and you should go there fr fr πŸ’€

🌈 RETURN 🌈

  • the highest phandle on success πŸŽ‰
  • 0, if no phandle was found in the device tree 😭
  • -1, if an error occurred πŸ’€

note that the return type is uint32_t the whole time β€” that's just how it is, don't @ me πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./scripts/dtc/libfdt/libfdt.h β€” go read her, she's iconic πŸ“–

and then the extended universe, in the exact order she appears, no cap:

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


that's the whole page bestie, you're basically an fdt girlie now πŸ§šβ€β™€οΈ

sign-off szn 🫢 β€” this one lives in ./scripts/dtc/libfdt, stamped October 2026, and she serves fdt_get_max_phandle(9) energy from the first line to the last β­πŸ’œ

πŸ“¦ where this page comes from