Lines Matching refs:ctrl
186 static int m5mols_3a_lock(struct m5mols_info *info, struct v4l2_ctrl *ctrl)
188 bool af_lock = ctrl->val & V4L2_LOCK_FOCUS;
191 if ((ctrl->val ^ ctrl->cur.val) & V4L2_LOCK_EXPOSURE) {
192 bool ae_lock = ctrl->val & V4L2_LOCK_EXPOSURE;
200 if (((ctrl->val ^ ctrl->cur.val) & V4L2_LOCK_WHITE_BALANCE)
202 bool awb_lock = ctrl->val & V4L2_LOCK_WHITE_BALANCE;
213 if ((ctrl->val ^ ctrl->cur.val) & V4L2_LOCK_FOCUS)
400 static int m5mols_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
402 struct v4l2_subdev *sd = to_sd(ctrl);
407 v4l2_dbg(1, m5mols_debug, sd, "%s: ctrl: %s (%d)\n",
408 __func__, ctrl->name, info->isp_ready);
413 switch (ctrl->id) {
417 ctrl->val = !status;
423 ctrl->val &= ~0x7;
446 static int m5mols_s_ctrl(struct v4l2_ctrl *ctrl)
448 unsigned int ctrl_mode = m5mols_get_ctrl_mode(ctrl);
449 struct v4l2_subdev *sd = to_sd(ctrl);
464 __func__, ctrl->name, ctrl->val, ctrl->priv);
472 switch (ctrl->id) {
474 ret = m5mols_3a_lock(info, ctrl);
478 ret = m5mols_write(sd, MON_ZOOM, ctrl->val);
482 ret = m5mols_set_exposure(info, ctrl->val);
486 ret = m5mols_set_iso(info, ctrl->val);
490 ret = m5mols_set_white_balance(info, ctrl->val);
494 ret = m5mols_set_saturation(info, ctrl->val);
498 ret = m5mols_set_color_effect(info, ctrl->val);
502 ret = m5mols_set_wdr(info, ctrl->val);
506 ret = m5mols_set_stabilization(info, ctrl->val);
510 ret = m5mols_write(sd, CAPP_JPEG_RATIO, ctrl->val);