of_property_read_u64_array(9)
π of_property_read_u64_array(9) π
okay bestie, welcome to the Kernel API Manual β yes that's the manual name, we're in the big-league kernel docs now π today's main character is of_property_read_u64_array, and she is literally here to find and read an array of 64 bit integers from a property. no cap. π₯
β¨ NAME β¨
of_property_read_u64_array β Find and read an array of 64 bit integers from a property.
like. that's her whole job description and she ate π
π¦ SYNOPSIS π¦
int of_property_read_u64_array (const struct device_node *np , const
char *propname , u64 *out_values , size_t sz );
that's the whole signature, character for character, don't come for me π
πΈ ARGUMENTS πΈ
npβ device node from which the property value is to be read. like, the node we're snooping through πpropnameβ name of the property to be searched. the thing we're looking for, iykykout_valuesβ pointer to return value, modified only if return value is 0. big one: she does NOT touch your buffer unless everything went perfectly, periodt π«Άszβ number of array elements to read. how many u64s you're asking for, be honest
π DESCRIPTION π
Search for a property in a device node and read 64-bit value(s) from it. that's it, that's the vibe check β¨
The out_values is modified only if a valid u64 value can be decoded. so if the decode doesn't work out, your array is untouched β she's not gonna leave you with half-baked garbage in your buffer, that would be so toxic π
π RETURN π
0β on success π slay, you got your integers-EINVALβ if the property does not exist π she looked everywhere, nothing-ENODATAβ if property does not have a value π« it's there but it's giving empty-EOVERFLOWβ if the property data isn't large enough π like, not enough bytes for what you asked for, embarrassing for everyone
π SEE ALSO π
Kernel file ./include/linux/of.h and honestly the whole friend group:
of_node_init(9)of_machine_is_compatible(9)of_parse_phandle(9)of_parse_phandle_with_args(9)of_parse_phandle_with_fixed_args(9)of_parse_phandle_with_optional_args(9)of_phandle_args_equal(9)of_property_count_u8_elems(9)of_property_count_u16_elems(9)of_property_count_u32_elems(9)of_property_count_u64_elems(9)of_property_read_string_array(9)of_property_count_strings(9)of_property_read_string_index(9)of_property_present(9)of_property_read_u8_array(9)of_property_read_u16_array(9)of_property_read_u32_array(9)struct of_changeset_entry(9)struct of_changeset(9)of_device_is_system_power_controller(9)of_have_populated_dt(9)
okay that's the whole page, go forth and read your u64 arrays π
source: ./include/linux Β· date: October 2026 β mwah, that's the sign-off bestie, see u in the next manpage ππ¦β
π¦ 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