tuner_g_tuner(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ tuner_g_tuner β€” a Kernel API Manual moment

okay bestie, so this one lives in the Kernel API Manual and it's literally called tuner_g_tuner(9). the "g" is for get btw, iykyk. it's giving "hand me the tuner tea" energy and honestly? iconic.


✨ NAME ✨

tuner_g_tuner β€” fill in tuner information πŸ’…

like, that's the whole job. it fills in the tuner info. no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

int tuner_g_tuner (struct v4l2_subdev *sd , struct v4l2_tuner *vt );

that's the signature, copy it exactly please, i am begging 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • sd β€” pointer to struct v4l2_subdev. yes bestie, the subdev. the main character of this whole situation.
  • vt β€” pointer to struct v4l2_tuner. this is the one that comes back all filled in, like a glow-up but for a struct ✨

🌸 DESCRIPTION 🌸

so when this returns, the structure vt will be all filled in with tuner information β€” but only if the tuner matches vt->type. like, it's gotta be the right match or nothing happens. vibe check first, info second πŸ’–


⭐ NOTE ⭐

vt->type has to be initialized before you call this. not optional, not a suggestion, it's the rule πŸ™ˆ and who does that init for you? either video_ioctl2 or the bridge driver. so like, somebody's already got you covered, but know that it's happening, okay? 😭

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file ./drivers/media/v4l2-core/tuner-core.c β€” go read it, it's tea β˜•

and the whole squad:

every single one, we don't skip the friends πŸ’œ


that's the whole page bestie, slay πŸ’…

source: ./drivers/media/v4l2-core β€” dated October 2026 πŸŽ€ mwah, see u in the next manpage πŸ¦‹βœ¨

πŸ“¦ where this page comes from