__v4l2_ctrl...y_dimensions(9)
π NAME π
__v4l2_ctrl_modify_dimensions β bestie, it's literally the unlocked variant of v4l2_ctrl_modify_dimensions(). Same energy, except you bring the lock πβ¨
(This whole page lives in the Kernel API Manual, just so you know where you are π«Ά)
β¨ SYNOPSIS β¨
int __v4l2_ctrl_modify_dimensions (struct v4l2_ctrl *ctrl , u32 dims[V4L2_CTRL_MAX_DIMS] );
π ARGUMENTS π
ctrlβ the control you're updating. the main character, the one getting a glow-up πdimsβ the control's brand-new dimensions. new size, who dis πΈ
π¦ DESCRIPTION π¦
okay so this function updates the dimensions of an array control on the fly β like changing your whole aesthetic mid-semester, no cap π₯ The elements of the array are reset to their default value, even if the dimensions are unchanged. yes, even then. it's giving "fresh start, no exceptions" π
An error is returned if dims is invalid for this control. invalid dims? not today, bestie π
β οΈ important one: the caller is responsible for acquiring the control handler mutex on behalf of __v4l2_ctrl_modify_dimensions. that's you. you're the lock-holder. periodt π
π NOTE π
calling this function when the same control is used in pending requests is untested π It should work β a request with the wrong size of the control will drop that control silently β but it will be very confusing. like, "technically fine but emotionally devastating" energy. ngl, don't do this to yourself π«
π SEE ALSO π
- Kernel file
./include/media/v4l2-ctrls.h union v4l2_ctrl_ptr(9)v4l2_ctrl_ptr_create(9)struct v4l2_ctrl_ops(9)struct v4l2_ctrl_type_ops(9)v4l2_ctrl_notify_fnc(9)struct v4l2_ctrl(9)struct v4l2_ctrl_ref(9)struct v4l2_ctrl_handler(9)struct v4l2_ctrl_config(9)v4l2_ctrl_fill(9)v4l2_ctrl_handler_init_class(9)v4l2_ctrl_handler_init(9)v4l2_ctrl_handler_free(9)v4l2_ctrl_lock(9)v4l2_ctrl_unlock(9)__v4l2_ctrl_handler_setup(9)v4l2_ctrl_handler_setup(9)v4l2_ctrl_handler_log_status(9)v4l2_ctrl_new_custom(9)v4l2_ctrl_new_std(9)v4l2_ctrl_new_std_menu(9)v4l2_ctrl_new_std_menu_items(9)v4l2_ctrl_new_std_compound(9)v4l2_ctrl_new_int_menu(9)v4l2_ctrl_filter(9)v4l2_ctrl_add_handler(9)v4l2_ctrl_radio_filter(9)v4l2_ctrl_cluster(9)v4l2_ctrl_auto_cluster(9)v4l2_ctrl_find(9)v4l2_ctrl_activate(9)__v4l2_ctrl_grab(9)v4l2_ctrl_grab(9)__v4l2_ctrl_modify_range(9)v4l2_ctrl_modify_range(9)v4l2_ctrl_modify_dimensions(9)v4l2_ctrl_notify(9)v4l2_ctrl_get_name(9)v4l2_ctrl_get_menu(9)v4l2_ctrl_get_int_menu(9)v4l2_ctrl_g_ctrl(9)__v4l2_ctrl_s_ctrl(9)v4l2_ctrl_s_ctrl(9)v4l2_ctrl_g_ctrl_int64(9)__v4l2_ctrl_s_ctrl_int64(9)v4l2_ctrl_s_ctrl_int64(9)__v4l2_ctrl_s_ctrl_string(9)v4l2_ctrl_s_ctrl_string(9)__v4l2_ctrl_s_ctrl_compound(9)v4l2_ctrl_s_ctrl_compound(9)v4l2_ctrl_replace(9)v4l2_ctrl_merge(9)v4l2_ctrl_log_status(9)v4l2_ctrl_subscribe_event(9)v4l2_ctrl_poll(9)v4l2_ctrl_request_setup(9)v4l2_ctrl_request_complete(9)v4l2_ctrl_request_hdl_find(9)v4l2_ctrl_request_hdl_put(9)v4l2_ctrl_request_hdl_ctrl_find(9)v4l2_queryctrl(9)v4l2_query_ext_ctrl_to_v4l2_queryctrl(9)v4l2_query_ext_ctrl(9)v4l2_querymenu(9)v4l2_g_ctrl(9)v4l2_s_ctrl(9)v4l2_g_ext_ctrls(9)v4l2_try_ext_ctrls(9)v4l2_s_ext_ctrls(9)v4l2_ctrl_subdev_subscribe_event(9)v4l2_ctrl_subdev_log_status(9)v4l2_ctrl_new_fwnode_properties(9)v4l2_ctrl_type_op_equal(9)v4l2_ctrl_type_op_init(9)v4l2_ctrl_type_op_log(9)v4l2_ctrl_type_op_validate(9)
and that's the whole page, bestie, you ate that π This lil drop comes to you straight from ./include/media, dated October 2026 β so go forth, hold that mutex, and slay ππ§ββοΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms