sdw_nread(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– sdw_nread(9) β€” like, the Kernel API Manual page you actually want to read πŸ’–

okay so bestie, welcome to sdw_nread(9) from the Kernel API Manual (section 9, soundwire girlies rise). this one is short and sweet and it slays β€” let me put you on. πŸŽ€


✨ NAME ✨

sdw_nread β€” read "n" contiguous SDW Slave registers. that's it, that's the whole vibe. n registers, all lined up next to each other, read in one go. πŸ¦‹


🌸 SYNOPSIS 🌸

int sdw_nread (struct sdw_slave *slave , u32 addr , size_t count , u8
*val );

πŸ’… ARGUMENTS πŸ’…

  • slave β€” the SDW Slave. like, the actual device we're talking to. your main character. πŸ‘‘
  • addr β€” the register address. where the reading adventure begins. ✨
  • count β€” the length. how many registers we're grabbing, i.e. the "n" in nread. literally the whole point. πŸ”₯
  • val β€” the buffer where the values that got read end up living. the little home for your bytes. 🏑

🧚 DESCRIPTION 🧚

so this version of the function will take a PM reference to the slave device. yes, this version β€” the PM-referencing one. noted. πŸ’œ

⚠️ important caveat bestie, do not skip this: if the message crosses a page boundary, each page will be transferred under a separate invocation of the msg_lock. so like… multiple lock grabs, one per page. no cap, that's how it goes. 😭

πŸ‘€ SEE ALSO πŸ‘€

it's all in the Kernel file ./drivers/soundwire/bus.c β€” go read the source, it's giving iconic. and while you're there, here's the whole friend group:

they all ate, fr fr. 🫢


mwah πŸ’‹ that's the page!! this little beauty lives in ./drivers/soundwire, dated October 2026, and you can cite it as sdw_nread(9) forever and ever. go read some registers bestie, you got this πŸ’–βœ¨πŸŒˆ

πŸ“¦ where this page comes from