fwnode_prope...ad_u64_array(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… fwnode_property_read_u64_array β€” from the Kernel API Manual, section 9

Okay bestie, gather round, because this one is a little API with big main-character energy. It's a kernel function, it lives in section 9 of the manual, and yes, the whole vibe is "get me an array of u64s out of a firmware node, thanks."


✨ NAME ✨

fwnode_property_read_u64_array β€” grab a u64 array property off a firmware node. That's it, that's the whole job. πŸŽ€


🌸 SYNOPSIS 🌸

int fwnode_property_read_u64_array (const struct fwnode_handle *fwnode ,
const char *propname , u64 *val , size_t nval );

Look at that signature. Four params, returns an int, extremely demure, very mindful. πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • fwnode β€” the firmware node you're pulling the property from. Like, the source of truth, the origin story, the node in question.
  • propname β€” the name of the property. The actual string you're asking for. iykyk.
  • val β€” the values land in here. OR you can pass NULL and get back the number of values instead. Sneaky little dual-purpose pointer, we love a versatile icon.
  • nval β€” the size of the val array. Know your capacity, bestie.

πŸ’– DESCRIPTION πŸ’–

So here's the tea: this reads an array of u64 properties with propname from fwnode, and stores them into val if they're found. Simple. Clean. Slays. ✨

⚠️ Real talk though β€” it's recommended to call fwnode_property_count_u64 instead of calling this function with val equal to NULL and nval equal to 0. Like, you can do the other thing, but the docs are gently begging you to use the dedicated counter. Respect the recommendation, no cap.

πŸ”₯ RETURN πŸ”₯

The return value is giving "I contain multitudes," so let's break it all the way down:

  • The number of values, if val was NULL β€” so you can ask "how many?" without a real array.
  • 0 if the property was found (success!) πŸŽ‰
  • -EINVAL if the given arguments are not valid β€” like, invalid arguments, bestie, do better.
  • -ENODATA if the property does not have a value.
  • -EPROTO if the property is not an array of numbers.
  • -EOVERFLOW if the size of the property is not as expected.
  • -ENXIO if no suitable firmware interface is present.

Every one of those is a different flavour of "nope," and now you know exactly which nope you got. πŸ•΅οΈβ€β™€οΈ


πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file: ./drivers/base/property.c

Okay this list is long long, but we do not skip. Not one. Here's the whole friend group:

Like I said. The whole group chat. 🫢


🧚 Sign-off 🧚

This little masterpiece comes to you from ./drivers/base, dated October 2026, and it's fwnode_prope...ad_u64_array(9) in case you need to cite your sources. Go read your u64 arrays responsibly, bestie. πŸŒˆπŸ’œβ­

πŸ“¦ where this page comes from