Lines Matching refs:ctrl
29 static int s5c73m3_get_af_status(struct s5c73m3 *state, struct v4l2_ctrl *ctrl)
39 ctrl->val = V4L2_AUTO_FOCUS_STATUS_BUSY;
43 ctrl->val = V4L2_AUTO_FOCUS_STATUS_REACHED;
51 ctrl->val = V4L2_AUTO_FOCUS_STATUS_FAILED;
58 static int s5c73m3_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
60 struct v4l2_subdev *sd = ctrl_to_sensor_sd(ctrl);
67 switch (ctrl->id) {
181 static int s5c73m3_3a_lock(struct s5c73m3 *state, struct v4l2_ctrl *ctrl)
183 bool awb_lock = ctrl->val & V4L2_LOCK_WHITE_BALANCE;
184 bool ae_lock = ctrl->val & V4L2_LOCK_EXPOSURE;
185 bool af_lock = ctrl->val & V4L2_LOCK_FOCUS;
188 if ((ctrl->val ^ ctrl->cur.val) & V4L2_LOCK_EXPOSURE) {
195 if (((ctrl->val ^ ctrl->cur.val) & V4L2_LOCK_WHITE_BALANCE)
203 if ((ctrl->val ^ ctrl->cur.val) & V4L2_LOCK_FOCUS)
335 static int s5c73m3_s_ctrl(struct v4l2_ctrl *ctrl)
337 struct v4l2_subdev *sd = ctrl_to_sensor_sd(ctrl);
342 ctrl->name, ctrl->val);
353 if (ctrl->flags & V4L2_CTRL_FLAG_INACTIVE) {
358 switch (ctrl->id) {
360 ret = s5c73m3_3a_lock(state, ctrl);
364 ret = s5c73m3_set_white_balance(state, ctrl->val);
368 ret = s5c73m3_set_contrast(state, ctrl->val);
372 ret = s5c73m3_set_colorfx(state, ctrl->val);
376 ret = s5c73m3_set_exposure(state, ctrl->val);
380 ret = s5c73m3_set_auto_focus(state, ctrl->val);
384 ret = s5c73m3_set_stabilization(state, ctrl->val);
388 ret = s5c73m3_set_iso(state, ctrl->val);
392 ret = s5c73m3_set_jpeg_quality(state, ctrl->val);
396 ret = s5c73m3_set_power_line_freq(state, ctrl->val);
400 ret = s5c73m3_set_saturation(state, ctrl->val);
404 ret = s5c73m3_set_scene_program(state, ctrl->val);
408 ret = s5c73m3_set_sharpness(state, ctrl->val);
412 ret = s5c73m3_isp_command(state, COMM_WDR, !!ctrl->val);
416 ret = s5c73m3_isp_command(state, COMM_ZOOM_STEP, ctrl->val);