v4l2_ctrl_modify_range(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… v4l2_ctrl_modify_range β€” Kernel API Manual vibes πŸŽ€

okay so bestie, you know how a control has a range and normally you just... set it once and move on? yeah. this is NOT that. this is the glow-up-in-place function. welcome to the Kernel API Manual page for v4l2_ctrl_modify_range, she's iconic, she's a 9-section girly, let's go ✨


🌸 NAME 🌸

v4l2_ctrl_modify_range β€” update the range of a control. that's it. that's the whole name. short, sweet, main character energy πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

int v4l2_ctrl_modify_range (struct v4l2_ctrl *ctrl , s64 min , s64 max ,
u64 step , s64 def );

like, exactly that, don't come for me about the spacing, I copied it verbatim, that's the whole point 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • ctrl β€” the control you're updating. the one getting the makeover. the it-girl of this function πŸ’–
  • min β€” the control's minimum value. the floor, the absolute lowest she can go 😌
  • max β€” the control's maximum value. the ceiling. sky's the limit (no, literally, this is the limit) ⭐
  • step β€” the control's step value. the increments, the little baby steps 🩰
  • def β€” the control's default value. the fallback, the "factory settings" reset button 🎁

✨ DESCRIPTION ✨

so bestie, what this does is update the range of a control on the fly. like, live, in real time, no reboot, no drama, no "please reinitialize your handler". she just changes it. lowkey obsessed.

this works for these control types, and I need you to remember all of them because I refuse to leave anyone out: INTEGER, BOOLEAN, MENU, INTEGER MENU and BITMASK. those five. periodt.

🚨 quick heads-up for the menu girlies: for menu controls, the step value is interpreted as a menu_skip_mask. so don't get confused when step is doing something completely different for menus than it does for everyone else. iykyk πŸ’…

and if one of the range arguments is invalid for this control type? an error is returned. no silent failing, no vibes-based guessing, she just tells you. ngl that's a serve.

πŸ’€ IMPORTANT, do not skip this one: this function assumes that the control handler is not locked and will take the lock itself. so like... don't hold the lock and then call this, that's a bad time. she's an independent woman, she handles her own locking 🫢

🌈 SEE ALSO 🌈

okay this is the big one. the whole friend group. the entire group chat. every single mutual, no cap, I'm not skipping a single one because every reference matters πŸ’œ

that's 76 refs bestie. seventy-six. I counted. and the source of truth lives at ./include/media in the kernel tree, so go say hi to her 🧚

🌸 alright that's the whole page, love u, go modify some ranges responsibly 🌸

signed off by ./include/media, dated October 2026 β€” this manpage said periodt and went home πŸ’–

πŸ“¦ where this page comes from