Lines Matching refs:hdl

212 static int prepare_ext_ctrls(struct v4l2_ctrl_handler *hdl,  in prepare_ext_ctrls()  argument
249 ref = find_ref_lock(hdl, id); in prepare_ext_ctrls()
264 ref = find_ref_lock(hdl, ctrl->cluster[0]->id); in prepare_ext_ctrls()
331 mutex_lock(hdl->lock); in prepare_ext_ctrls()
359 mutex_unlock(hdl->lock); in prepare_ext_ctrls()
368 static int class_check(struct v4l2_ctrl_handler *hdl, u32 which) in class_check() argument
373 return find_ref_lock(hdl, which | 1) ? 0 : -EINVAL; in class_check()
383 int v4l2_g_ext_ctrls_common(struct v4l2_ctrl_handler *hdl, in v4l2_g_ext_ctrls_common() argument
399 if (!hdl) in v4l2_g_ext_ctrls_common()
403 return class_check(hdl, cs->which); in v4l2_g_ext_ctrls_common()
412 ret = prepare_ext_ctrls(hdl, cs, helpers, vdev, true); in v4l2_g_ext_ctrls_common()
484 int v4l2_g_ext_ctrls(struct v4l2_ctrl_handler *hdl, struct video_device *vdev, in v4l2_g_ext_ctrls() argument
488 return v4l2_g_ext_ctrls_request(hdl, vdev, mdev, cs); in v4l2_g_ext_ctrls()
490 return v4l2_g_ext_ctrls_common(hdl, cs, vdev); in v4l2_g_ext_ctrls()
555 struct v4l2_ctrl_handler *hdl, in try_set_ext_ctrls_common() argument
575 if (!hdl) { in try_set_ext_ctrls_common()
582 return class_check(hdl, cs->which); in try_set_ext_ctrls_common()
590 ret = prepare_ext_ctrls(hdl, cs, helpers, vdev, false); in try_set_ext_ctrls_common()
662 !hdl->req_obj.req && set, 0); in try_set_ext_ctrls_common()
663 if (!ret && hdl->req_obj.req && set) { in try_set_ext_ctrls_common()
666 find_ref(hdl, master->cluster[j]->id); in try_set_ext_ctrls_common()
690 struct v4l2_ctrl_handler *hdl, in try_set_ext_ctrls() argument
698 return try_set_ext_ctrls_request(fh, hdl, vdev, mdev, cs, set); in try_set_ext_ctrls()
700 ret = try_set_ext_ctrls_common(fh, hdl, cs, vdev, set); in try_set_ext_ctrls()
709 int v4l2_try_ext_ctrls(struct v4l2_ctrl_handler *hdl, in v4l2_try_ext_ctrls() argument
714 return try_set_ext_ctrls(NULL, hdl, vdev, mdev, cs, false); in v4l2_try_ext_ctrls()
719 struct v4l2_ctrl_handler *hdl, in v4l2_s_ext_ctrls() argument
724 return try_set_ext_ctrls(fh, hdl, vdev, mdev, cs, true); in v4l2_s_ext_ctrls()
763 int v4l2_g_ctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_control *control) in v4l2_g_ctrl() argument
765 struct v4l2_ctrl *ctrl = v4l2_ctrl_find(hdl, control->id); in v4l2_g_ctrl()
821 int v4l2_s_ctrl(struct v4l2_fh *fh, struct v4l2_ctrl_handler *hdl, in v4l2_s_ctrl() argument
824 struct v4l2_ctrl *ctrl = v4l2_ctrl_find(hdl, control->id); in v4l2_s_ctrl()
1019 int v4l2_query_ext_ctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_query_ext_ctrl *qc) in v4l2_query_ext_ctrl() argument
1026 if (!hdl) in v4l2_query_ext_ctrl()
1029 mutex_lock(hdl->lock); in v4l2_query_ext_ctrl()
1032 ref = find_ref(hdl, id); in v4l2_query_ext_ctrl()
1034 if ((qc->id & next_flags) && !list_empty(&hdl->ctrl_refs)) { in v4l2_query_ext_ctrl()
1051 if (id >= node2id(hdl->ctrl_refs.prev)) { in v4l2_query_ext_ctrl()
1058 list_for_each_entry_continue(ref, &hdl->ctrl_refs, node) { in v4l2_query_ext_ctrl()
1065 if (&ref->node == &hdl->ctrl_refs) in v4l2_query_ext_ctrl()
1074 list_for_each_entry(ref, &hdl->ctrl_refs, node) { in v4l2_query_ext_ctrl()
1081 if (&ref->node == &hdl->ctrl_refs) in v4l2_query_ext_ctrl()
1085 mutex_unlock(hdl->lock); in v4l2_query_ext_ctrl()
1116 int v4l2_queryctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_queryctrl *qc) in v4l2_queryctrl() argument
1121 rc = v4l2_query_ext_ctrl(hdl, &qec); in v4l2_queryctrl()
1153 int v4l2_querymenu(struct v4l2_ctrl_handler *hdl, struct v4l2_querymenu *qm) in v4l2_querymenu() argument
1158 ctrl = v4l2_ctrl_find(hdl, qm->id); in v4l2_querymenu()