Lines Matching full:controls
3 V4L2 controls framework implementation.
785 /* USER controls */ in v4l2_ctrl_get_name()
786 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
787 case V4L2_CID_USER_CLASS: return "User Controls"; in v4l2_ctrl_get_name()
829 /* Codec controls */ in v4l2_ctrl_get_name()
830 /* The MPEG controls are applicable to all codec controls in v4l2_ctrl_get_name()
833 case V4L2_CID_MPEG_CLASS: return "Codec Controls"; in v4l2_ctrl_get_name()
958 /* VPX controls */ in v4l2_ctrl_get_name()
975 /* HEVC controls */ in v4l2_ctrl_get_name()
1027 /* CAMERA controls */ in v4l2_ctrl_get_name()
1028 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
1029 case V4L2_CID_CAMERA_CLASS: return "Camera Controls"; in v4l2_ctrl_get_name()
1067 /* FM Radio Modulator controls */ in v4l2_ctrl_get_name()
1068 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
1069 case V4L2_CID_FM_TX_CLASS: return "FM Radio Modulator Controls"; in v4l2_ctrl_get_name()
1099 /* Flash controls */ in v4l2_ctrl_get_name()
1100 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
1101 case V4L2_CID_FLASH_CLASS: return "Flash Controls"; in v4l2_ctrl_get_name()
1115 /* JPEG encoder controls */ in v4l2_ctrl_get_name()
1116 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
1117 case V4L2_CID_JPEG_CLASS: return "JPEG Compression Controls"; in v4l2_ctrl_get_name()
1123 /* Image source controls */ in v4l2_ctrl_get_name()
1124 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
1125 case V4L2_CID_IMAGE_SOURCE_CLASS: return "Image Source Controls"; in v4l2_ctrl_get_name()
1134 /* Image processing controls */ in v4l2_ctrl_get_name()
1135 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
1136 case V4L2_CID_IMAGE_PROC_CLASS: return "Image Processing Controls"; in v4l2_ctrl_get_name()
1143 /* DV controls */ in v4l2_ctrl_get_name()
1144 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
1145 case V4L2_CID_DV_CLASS: return "Digital Video Controls"; in v4l2_ctrl_get_name()
1156 case V4L2_CID_FM_RX_CLASS: return "FM Radio Receiver Controls"; in v4l2_ctrl_get_name()
1159 case V4L2_CID_RF_TUNER_CLASS: return "RF Tuner Controls"; in v4l2_ctrl_get_name()
1177 /* Detection controls */ in v4l2_ctrl_get_name()
1178 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ in v4l2_ctrl_get_name()
1179 case V4L2_CID_DETECT_CLASS: return "Detection Controls"; in v4l2_ctrl_get_name()
1765 * Compound controls validation requires setting unused fields/flags to zero
1766 * in order to properly detect unchanged controls with std_equal's memcmp.
2178 /* If a control was changed that was not one of the controls in new_to_cur()
2217 /* Return non-zero if one or more of the controls in the cluster has a new
2278 /* Note: step == menu_skip_mask for menu controls. in check_range()
2339 /* Free all controls and control refs */
2363 /* Free all controls owned by the handler */ in v4l2_ctrl_handler_free()
2392 /* Search for private user controls that are compatible with in find_private_ref()
2414 /* Old-style private controls need special handling */ in find_ref()
2781 /* Helper function for standard non-menu controls */
2803 /* Helper function for standard menu controls */
2836 /* Helper function for standard menu controls with driver defined menu */
2850 * standard controls without a standard menu. in v4l2_ctrl_new_std_menu_items()
2869 /* Helper function for standard compound controls */
2890 /* Helper function for standard integer menu controls */
2914 /* Add the controls from another handler to our own. */
2932 /* Skip handler-private controls. */ in v4l2_ctrl_add_handler()
2938 /* Filter any unwanted controls */ in v4l2_ctrl_add_handler()
2971 /* Cluster controls */
2972 void v4l2_ctrl_cluster(unsigned ncontrols, struct v4l2_ctrl **controls) in v4l2_ctrl_cluster() argument
2978 if (WARN_ON(ncontrols == 0 || controls[0] == NULL)) in v4l2_ctrl_cluster()
2982 if (controls[i]) { in v4l2_ctrl_cluster()
2983 controls[i]->cluster = controls; in v4l2_ctrl_cluster()
2984 controls[i]->ncontrols = ncontrols; in v4l2_ctrl_cluster()
2985 if (controls[i]->flags & V4L2_CTRL_FLAG_VOLATILE) in v4l2_ctrl_cluster()
2989 controls[0]->has_volatiles = has_volatiles; in v4l2_ctrl_cluster()
2993 void v4l2_ctrl_auto_cluster(unsigned ncontrols, struct v4l2_ctrl **controls, in v4l2_ctrl_auto_cluster() argument
2996 struct v4l2_ctrl *master = controls[0]; in v4l2_ctrl_auto_cluster()
3000 v4l2_ctrl_cluster(ncontrols, controls); in v4l2_ctrl_auto_cluster()
3014 if (controls[i]) in v4l2_ctrl_auto_cluster()
3015 controls[i]->flags |= flag; in v4l2_ctrl_auto_cluster()
3086 /* Log all controls owned by the handler */
3116 /* Call s_ctrl for all controls owned by the handler */
3135 /* Skip button controls and read-only controls. */ in __v4l2_ctrl_handler_setup()
3495 multiple controls have to be set through multiple i2c writes (for example)
3502 error should be returned without actually affecting any controls.
3510 controls were affected. Otherwise all controls before that index were
3512 the given index failed, and you don't know what happened with the controls
3523 tried to set the controls. In all other cases it is a driver/hardware
3527 never modifies controls the error_idx is just set to whatever control
3532 Find the controls in the control array and do some basic checks. */
3544 struct v4l2_ext_control *c = &cs->controls[i]; in prepare_ext_ctrls()
3561 /* Old-style private controls are not allowed for in prepare_ext_ctrls()
3562 extended controls */ in prepare_ext_ctrls()
3565 "old-style private controls not allowed\n"); in prepare_ext_ctrls()
3611 /* We are done if there were no controls that belong to a multi- in prepare_ext_ctrls()
3616 /* The code below figures out in O(n) time which controls in the list in prepare_ext_ctrls()
3648 whether there are any controls at all. */
3657 /* Get extended controls. Allocates the helpers array if needed. */
3717 /* If OK, then copy the current (for non-volatile controls) in v4l2_g_ext_ctrls_common()
3718 or the new (for volatile controls) control values to the in v4l2_g_ext_ctrls_common()
3725 ret = req_to_user(cs->controls + idx, in v4l2_g_ext_ctrls_common()
3728 ret = ctrl_to_user(cs->controls + idx, in v4l2_g_ext_ctrls_common()
3834 /* Compound controls are not supported. The new_to_user() and in get_ctrl()
3944 * contains volatile controls, then all non-master controls in try_or_set_cluster()
3959 /* Validate controls. */
3985 controls may have been set already and we want to do a in validate_ctrls()
4000 p_new.p_s64 = &cs->controls[i].value64; in validate_ctrls()
4002 p_new.p_s32 = &cs->controls[i].value; in validate_ctrls()
4024 /* Try or try-and-set controls */
4087 of controls). */ in try_set_ext_ctrls_common()
4098 new_auto_val = cs->controls[tmp_idx].value; in try_set_ext_ctrls_common()
4112 ret = user_to_new(cs->controls + idx, ctrl); in try_set_ext_ctrls_common()
4134 ret = new_to_user(cs->controls + idx, in try_set_ext_ctrls_common()
4356 * that this request doesn't have any controls and so just in v4l2_ctrl_request_complete()
4357 * wants to leave the controls unchanged. in v4l2_ctrl_request_complete()
4391 * obtain the controls of this request it will take in v4l2_ctrl_request_complete()
4425 * that this request doesn't have any controls and so just in v4l2_ctrl_request_setup()
4426 * wants to leave the controls unchanged. in v4l2_ctrl_request_setup()
4448 * Skip button controls and read-only controls. in v4l2_ctrl_request_setup()
4487 * of controls). in v4l2_ctrl_request_setup()