Lines Matching full:controls
3 * V4L2 controls framework uAPI implementation:
164 * multiple controls have to be set through multiple i2c writes (for example)
171 * error should be returned without actually affecting any controls.
179 * controls were affected. Otherwise all controls before that index were
181 * the given index failed, and you don't know what happened with the controls
192 * tried to set the controls. In all other cases it is a driver/hardware
196 * never modifies controls the error_idx is just set to whatever control
202 * Find the controls in the control array and do some basic checks.
215 struct v4l2_ext_control *c = &cs->controls[i]; in prepare_ext_ctrls()
233 * Old-style private controls are not allowed for in prepare_ext_ctrls()
234 * extended controls. in prepare_ext_ctrls()
238 "old-style private controls not allowed\n"); in prepare_ext_ctrls()
287 * We are done if there were no controls that belong to a multi- in prepare_ext_ctrls()
294 * The code below figures out in O(n) time which controls in the list in prepare_ext_ctrls()
334 * whether there are any controls at all.
345 * Get extended controls. Allocates the helpers array if needed.
349 * completed, and in that case valid_p_req is true for all controls.
405 * volatile controls at the time of request completion in v4l2_g_ext_ctrls_common()
432 ret = def_to_user(cs->controls + idx, ref->ctrl); in v4l2_g_ext_ctrls_common()
434 ret = req_to_user(cs->controls + idx, ref); in v4l2_g_ext_ctrls_common()
436 ret = new_to_user(cs->controls + idx, ref->ctrl); in v4l2_g_ext_ctrls_common()
438 ret = cur_to_user(cs->controls + idx, ref->ctrl); in v4l2_g_ext_ctrls_common()
460 /* Validate controls. */
487 * controls may have been set already and we want to do a in validate_ctrls()
503 p_new.p_s64 = &cs->controls[i].value64; in validate_ctrls()
505 p_new.p_s32 = &cs->controls[i].value; in validate_ctrls()
513 /* Try or try-and-set controls */
577 * of controls). in try_set_ext_ctrls_common()
591 new_auto_val = cs->controls[tmp_idx].value; in try_set_ext_ctrls_common()
609 ret = user_to_new(cs->controls + idx, ctrl); in try_set_ext_ctrls_common()
636 ret = new_to_user(cs->controls + idx, in try_set_ext_ctrls_common()
699 /* Compound controls are not supported. The new_to_user() and in get_ctrl()
802 * Helper functions for drivers to get/set controls.