fwnode_prop...string_array(9)
β¨ fwnode_property_read_string_array β¨
okay bestie so this is a page from the Kernel API Manual (yes, that manual, the big one) and honestly? it's giving "one function that does exactly what it says" and i respect it so much. it's fwnode_property_read_string_array(9) and it's the girl who walks into the firmware node party and just... reads the string array. π
πΈ NAME πΈ
fwnode_property_read_string_array β return string array property of a node
like. literally that. it returns the string array property of a node. no notes, she ate. π
β¨ SYNOPSIS β¨
int fwnode_property_read_string_array (const struct fwnode_handle
*fwnode , const char *propname , const char **val , size_t nval );
that's the whole deal, bestie β one call, four things you hand her, and she comes back with an int that tells you how it went. π¦
π«Ά ARGUMENTS π«Ά
here's what you're feeding her, one by one:
fwnodeβ the firmware node you're grabbing the property of. like, which node are we interrogating today? that one. πpropnameβ the name of the property. what are you looking for? say it with your chest.valβ the values get stored here. or, plot twist, passNULLand instead you get back the number of values. main character energy honestly. πnvalβ the size of thevalarray. how much room you're giving her.
π DESCRIPTION π
so the vibe is: read a string list property propname from the given firmware node, and store them to val if found. simple, iconic, no cap. π§
π lowkey important: it's recommended to callfwnode_property_string_array_countinstead of calling this function withvalequalsNULLandnvalequals0. like, there's a designated girl for that job, just let her do it. use the right function fr fr.
π RETURN π
what she gives you back β and bestie, she has range:
- number of values read on success, if
valis non-NULL π - number of values available on success, if
valis NULL π’ -EINVALβ if given arguments are not valid π-ENODATAβ if the property does not have a value π«₯-EPROTOor-EILSEQβ if the property is not an array of strings π€-EOVERFLOWβ if the size of the property is not as expected π-ENXIOβ if no suitable firmware interface is present π«οΈ
π₯ SEE ALSO π₯
so. many. siblings. the whole family tree coming to the function, honestly β and every single one of them is here:
Kernel file ./drivers/base/property.c plus: 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(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), 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)
like i said. the whole family. π«Άβ¨
okay that's the page, bestie!! this lil drop came out of ./drivers/base in October 2026 β that's the source and the date, and yes i'm telling you because it's in the fine print at the bottom and we don't skip the fine print in this house ππ slay, bye! πΈ
π¦ 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