fwnode_prop...perty_string(9)
π fwnode_prop...perty_string(9) β from the Kernel API Manual, bestie π«Ά
okay so real talk, this is a Kernel API Manual page and the name got squished by the man-page width police, but we move. It's fwnode_property_match_property_string and yes it does exactly what it says on the tin β¨
πΈ NAME πΈ
fwnode_property_match_property_string β find a property string value in an array and return index π
β¨ SYNOPSIS β¨
int fwnode_property_match_property_string (const struct fwnode_handle
*fwnode , const char *propname , const char * const *array , size_t n );
π ARGUMENTS π
fwnodeβ the Firmware node you're getting the property of, like the main character of this whole operation πpropnameβ Name of the property holding the string value. iykyk, it's the label you're searching for πarrayβ String array to search in. the lineup, the roster, the group chat π«Άnβ Size of the array. how many besties are in the list, no cap π’
π¦ DESCRIPTION π¦
Find a property string value in a given array and if it is found return the index back. that's it, that's the vibe check π literally just: does this string live in this array, and if so, where at? obsessed π
β RETURN β
- index, starting from 0, if the string value was found in the array (success) β slay, we found it π
-ENOENTwhen the string value was not found in the array β it's giving not-in-the-group-chat π-EINVALif given arguments are not valid β something's off, check ur inputs bestie π-ENODATAif the property does not have a value β the property ghosted us π-EPROTOor-EILSEQif the property is not a string β wrong type energy fr fr-ENXIOif no suitable firmware interface is present β nobody's home πͺ
π₯ SEE ALSO π₯
Kernel file ./drivers/base/property.c, plus this whole iconic extended universe of functions:
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_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)fwnode_get_named_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)
π§ quick reminder: the negative returns are errors, not vibes. a 0 or higher? that's the index, bestie. a negative? that's the kernel saying "no <3". don't mix them up π
and that's the whole page, periodt π it lives down in ./drivers/base, dated October 2026, and it matches the fwnode_prop...perty_string(9) entry you were looking for. go forth and match those strings, icon ππ
π¦ 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