of_link_property(9)
β¨ of_link_property(9) β¨
okay so picture this: you're deep in the Kernel API Manual, section 9, and you've stumbled onto of_link_property β and honestly? she's kind of a big deal. Let's get into it π
πΈ NAME πΈ
of_link_property β creates device links to the suppliers that are listed inside a property. literally her whole job π«Ά
π SYNOPSIS π
int of_link_property (struct device_node *con_np , const char *prop_name
);
π¦ ARGUMENTS π¦
con_npβ the consumer device tree node, aka the one holding the property. she's the consumer, she contains the property, that's her whole vibe β¨prop_nameβ the name of the property to be parsed. yes bestie, this is the one you're asking her to look at π
π DESCRIPTION π
First things first: this function checks whether the property prop_name β the one that's present in the con_np device tree node β is one of the known common device tree bindings that list phandles to suppliers. if it isn't one of those? she literally does nothing. no drama, no link, no nothing. she just moves on π
But if prop_name is one of them? okay now we're in main character energy π₯ this function attempts to create fwnode links from the consumer device tree node con_np to all the supplier device tree nodes listed in prop_name. all of them. not just the first one. not just the cute ones.
β οΈ okay important caveat incoming, pay attention: any failed attempt to create a fwnode link will NOT result in an immediate return. nope. no early exit, no bailing on the group chat. of_link_property must create links to all the available supplier device tree nodes even when attempts to create a link to one or more suppliers fail. she keeps going, she links everybody, that's the rule π
π SEE ALSO π
- Kernel file
./drivers/of/property.cβ yeah, that's where she lives π of_property_read_bool(9)of_graph_is_present(9)of_property_count_elems_of_size(9)of_find_property_value_of_size(9)of_property_read_u8_index(9)of_property_read_u16_index(9)of_property_read_u32_index(9)of_property_read_u64_index(9)of_property_read_variable_u8_array(9)of_property_read_variable_u16_array(9)of_property_read_variable_u32_array(9)of_property_read_u64(9)of_property_read_variable_u64_array(9)of_property_read_string(9)of_property_match_string(9)of_property_read_string_helper(9)of_graph_parse_endpoint(9)of_graph_get_port_by_id(9)of_graph_get_next_port(9)of_graph_get_next_port_endpoint(9)of_graph_get_next_endpoint(9)of_graph_get_endpoint_by_regs(9)of_graph_get_remote_endpoint(9)of_graph_get_port_parent(9)of_graph_get_remote_port_parent(9)of_graph_get_remote_port(9)of_graph_get_endpoint_count(9)of_graph_get_port_count(9)of_graph_get_remote_node(9)parse_prop_cells(9)parse_suffix_prop_cells(9)struct supplier_bindings(9)
that's a lot of friends, I know, but she's social π§
and that's the whole page bestie!! π this one's from ./drivers/of, dated October 2026, and it's the of_link_property(9) page β go forth and link those suppliers, you've got this πβ
π¦ 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