v4l2_ctrl_s_ctrl_compound(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– v4l2_ctrl_s_ctrl_compound(9) β€” Kernel API Manual bestie check-in 🫢

✨ NAME ✨

v4l2_ctrl_s_ctrl_compound is the helper function to set a compound control from within a driver. That's the whole assignment, bestie. πŸ’…

πŸŽ€ SYNOPSIS πŸŽ€

Here's the signature, exactly as it is because we do not mess with C syntax:

int v4l2_ctrl_s_ctrl_compound (struct v4l2_ctrl *ctrl , enum
       v4l2_ctrl_type type , const void *p );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • ctrl β€” the control. The one you're working with.
  • type β€” the type of the data. The data type, periodt.
  • p β€” the new compound payload. The fresh payload you're passing in.

🌸 DESCRIPTION 🌸

Okay so here's the tea: this sets the control's new compound payload safely by going through the control framework. It will lock the control's handler, so it cannot be used from within the v4l2_ctrl_ops functions. Like, do not do it there. 😭

This function is for compound type controls only. No basic-control energy, no exceptions. πŸ’…

⚠️ Vibe check bestie: the handler lock is real, and using this from inside v4l2_ctrl_ops functions is a hard no. We do not do that here. πŸ’€

πŸ”— SEE ALSO πŸ”—

Kernel file to peek at: ./include/media/v4l2-ctrls.h β€” iconic. Then the linked friend group, in waves so your eyes don't fall out:


mwah πŸ’‹ this page is from the Kernel API Manual, source ./include/media, dated October 2026, and the footer version/name is v4l2_ctrl_s_ctrl_compound(9). bye bestie β€” go set those compound controls safely! 🫢✨

πŸ“¦ where this page comes from