snd_soc_put_xr_sx(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… snd_soc_put_xr_sx β€” the kernel API manual, but make it make sense

okay so bestie, welcome to the snd_soc_put_xr_sx(9) page β€” this is the Kernel API Manual, and it's genuinely not as scary as it looks, i promise 🫢


✨ NAME ✨

snd_soc_put_xr_sx β€” the signed multi register get callback 😭 (yes the NAME line literally says "get" while the function is a put β€” i'm just reporting what the page says, don't come for me, it's giving chaos but it's the docs' chaos, not mine πŸ’€)


🌸 SYNOPSIS 🌸

int snd_soc_put_xr_sx (struct snd_kcontrol *kcontrol , struct
       snd_ctl_elem_value *ucontrol );

like, it takes two pointers and hands you back an int. slay ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • kcontrol β€” the mreg control. that's your control object, the main character of this whole operation πŸ‘‘
  • ucontrol β€” the control element information. this is where the actual value situation lives πŸ’–

πŸ¦‹ DESCRIPTION πŸ¦‹

so what is this beautiful little function actually doing? it's the callback that sets the value of a control β€” and not just any control, a control that can span multiple codec registers which, when you squish them together, form a single signed value πŸ”₯

and the control supports specifying the total no of bits used, which is what lets you do bitfields across those multiple codec registers. very demure, very mindful, very flexible ✨

⚠️ okay important note, pay attention bestie: unlike the non-xr variant of sx controls, these may or may not include the sign bit, depending on nbits, and there is no shift. no shift. none. zero shifting happening here. that's the whole vibe check 🫢

and what does it return? 0 for success. that's it, that's the success state, iconic behavior πŸ’…


🌈 SEE ALSO 🌈

the kernel file lives at ./sound/soc/soc-ops.c β€” go visit, it's fine, it's just a file 🧚

and here's the whole friend group, all present and accounted for:


πŸ’– cute little sign-off: this page comes to you from the source at ./sound/soc, dated October 2026, and it's the snd_soc_put_xr_sx(9) manual entry. go forth and put your xr sx values, bestie, you've got this πŸ’œβœ¨
πŸ“¦ where this page comes from