snd_soc_get_xr_sx(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– snd_soc_get_xr_sx(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” this page is literally about snd_soc_get_xr_sx, and it's the signed multi register get callback. yes the name is a mouthful, no we are not skipping it 🫢


✨ NAME ✨

snd_soc_get_xr_sx β€” signed multi register get callback πŸ‘‘


✨ SYNOPSIS ✨

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

like, that's the whole signature, no notes πŸ’…


✨ ARGUMENTS ✨

  • kcontrol β€” the mreg control. that's it, that's the description, it's a mreg control fr fr πŸŽ€
  • ucontrol β€” the control element information. all the info about the element lives here πŸ¦‹

✨ DESCRIPTION ✨

so what does this callback actually do? bestie, it gets the value of a control that can span multiple codec registers β€” and those registers, together, form a single signed value. like a little group project where every register contributes a few bits and the result is one number 🌈

the control also supports specifying the total no of bits used, so you can do bitfields across the multiple codec registers. it's giving very flexible, very demure πŸŽ€

⚠️ okay important caveat, don't skip this: 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!! πŸ’€

returns 0 for success. that's the whole success story, slay ⭐


✨ SEE ALSO ✨

the whole friend group, all in the kernel file ./sound/soc/soc-ops.c β€” go say hi πŸ‘‹


and that's the page, bestie!! 🧚 this one lives in ./sound/soc, dated October 2026, and it's the snd_soc_get_xr_sx(9) page β€” go forth and get those signed multi-register values, ily, bye!! πŸ’œπŸŒΈ

πŸ“¦ where this page comes from