v4l2_ctrl_s_ctrl_int64(9)
π v4l2_ctrl_s_ctrl_int64 β the Kernel API Manual page, bestie edition
okay so you found the v4l2_ctrl_s_ctrl_int64(9) page in the Kernel API Manual and you're like "what does this do" β don't worry, I got you π«Ά
β¨ NAME β¨
v4l2_ctrl_s_ctrl_int64 β the helper function that sets a 64-bit control's value from inside a driver. literally its whole job. periodt π
πΈ SYNOPSIS πΈ
int v4l2_ctrl_s_ctrl_int64 (struct v4l2_ctrl *ctrl , s64 val );
π ARGUMENTS π
ctrlβ the control. the main character, the one we're touching β¨valβ the new value. the new vibe you're giving this control π
π¦ DESCRIPTION π¦
So here's the tea: this sets the control's new value safely by going through the control framework β no sneaky back-door assignment, no cap. π§
The way it works is it locks the control's handler, which is great for safety and also meansβ
β οΈ it cannot be used from within the v4l2_ctrl_ops functions. like, at all. don't even try it, that's how you get a deadlock situation and we do not want that energy π
And just so we're crystal clear: this function is for 64-bit integer type controls only. not 32-bit, not strings, not compound. 64-bit integers. iykyk π
π₯ SEE ALSO π₯
Kernel file ./include/media/v4l2-ctrls.h β and honestly the whole friend group showed up:
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_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_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)
like i said. the whole group chat. π
and that's the page!! source: ./include/media, dated October 2026, filed under v4l2_ctrl_s_ctrl_int64(9) β mwah, slay, go set those 64-bit values responsibly bestie πππ
π¦ 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