fwnode_get_named_child_node(9)
π¦ fwnode_get_named_child_node(9) β from the Kernel API Manual, bestie β¨
Okay so this is a page straight outta the Kernel API Manual, and honestly? It's short, it's sweet, it's giving "tiny function, big responsibility". Let's get into it π
β¨ NAME β¨
fwnode_get_named_child_node β gets you the first matching named child node handle πΈ Like, the very first one it finds with that name. Not the second, not the third. The first. Periodt.
π SYNOPSIS π
struct fwnode_handle * fwnode_get_named_child_node (const struct fwnode_handle *fwnode , const char *childname );
Yes bestie, it spits back a struct fwnode_handle * π«Ά
π ARGUMENTS π
fwnodeβ the firmware node you're doing the search in π This is the one whose children we're checking. Main character energy, honestly.childnameβ the string you're matching against the child node's name π― Literally just the name you're looking for.
π§ DESCRIPTION π§
Okay so the one thing you cannot forget, and I mean it, no cap:
The caller is responsible for callingfwnode_handle_puton the returnedfwnodepointer. π₯
Like β you own the cleanup, bestie. If you take the handle and never put it back, that's a leak and the kernel will be side-eyeing you π Don't do that to yourself.
π SEE ALSO π
So this lives in the kernel file ./drivers/base/property.c, and the whole friend group is huge. Here's literally everyone iykyk π
device_property_present(9)fwnode_property_present(9)device_property_read_bool(9)fwnode_property_read_bool(9)device_property_read_u8_array(9)device_property_read_u16_array(9)device_property_read_u32_array(9)device_property_read_u64_array(9)device_property_read_string_array(9)device_property_read_string(9)device_property_match_string(9)fwnode_property_read_u8_array(9)fwnode_property_read_u16_array(9)fwnode_property_read_u32_array(9)fwnode_property_read_u64_array(9)fwnode_property_read_string_array(9)fwnode_property_read_string(9)fwnode_property_match_string(9)fwnode_property_match_property_string(9)fwnode_property_get_reference_args(9)fwnode_find_reference(9)fwnode_get_name(9)fwnode_get_name_prefix(9)fwnode_name_eq(9)fwnode_get_parent(9)fwnode_get_next_parent(9)fwnode_count_parents(9)fwnode_get_nth_parent(9)fwnode_get_next_child_node(9)fwnode_get_next_available_child_node(9)device_get_next_child_node(9)device_get_named_child_node(9)fwnode_handle_get(9)fwnode_device_is_available(9)fwnode_get_child_node_count(9)fwnode_get_named_child_node_count(9)fwnode_get_phy_mode(9)device_get_phy_mode(9)fwnode_iomap(9)fwnode_irq_get(9)fwnode_irq_get_byname(9)fwnode_graph_get_next_endpoint(9)fwnode_graph_get_port_parent(9)fwnode_graph_get_remote_port_parent(9)fwnode_graph_get_remote_port(9)fwnode_graph_get_remote_endpoint(9)fwnode_graph_get_endpoint_by_id(9)fwnode_graph_get_endpoint_count(9)fwnode_graph_parse_endpoint(9)fwnode_connection_find_match(9)fwnode_connection_find_matches(9)
And that's the whole page, bestie! π
This one comes to you from ./drivers/base, dated October 2026, and it's the fwnode_get_named_child_node(9) page β go get that named child node and remember to put the handle back, I'm begging π«Άβ¨π
π¦ 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