media: v4l2-ctrls: add support for dynamically allocated arrays.
Implement support for dynamically allocated arrays. Most of the changes concern keeping track of the number of elements of the array and the number of elements allocated for the array and reallocating memory if needed. Acked-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Acked-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Tested-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Tested-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
64fe675e99
commit
fb582cba44
@@ -143,7 +143,7 @@ v4l2_ctrl_request_hdl_ctrl_find(struct v4l2_ctrl_handler *hdl, u32 id)
|
||||
{
|
||||
struct v4l2_ctrl_ref *ref = find_ref_lock(hdl, id);
|
||||
|
||||
return (ref && ref->valid_p_req) ? ref->ctrl : NULL;
|
||||
return (ref && ref->p_req_valid) ? ref->ctrl : NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_ctrl_request_hdl_ctrl_find);
|
||||
|
||||
@@ -373,7 +373,7 @@ void v4l2_ctrl_request_complete(struct media_request *req,
|
||||
v4l2_ctrl_unlock(master);
|
||||
continue;
|
||||
}
|
||||
if (ref->valid_p_req)
|
||||
if (ref->p_req_valid)
|
||||
continue;
|
||||
|
||||
/* Copy the current control value into the request */
|
||||
@@ -442,7 +442,7 @@ int v4l2_ctrl_request_setup(struct media_request *req,
|
||||
struct v4l2_ctrl_ref *r =
|
||||
find_ref(hdl, master->cluster[i]->id);
|
||||
|
||||
if (r->valid_p_req) {
|
||||
if (r->p_req_valid) {
|
||||
have_new_data = true;
|
||||
break;
|
||||
}
|
||||
@@ -458,7 +458,11 @@ int v4l2_ctrl_request_setup(struct media_request *req,
|
||||
struct v4l2_ctrl_ref *r =
|
||||
find_ref(hdl, master->cluster[i]->id);
|
||||
|
||||
req_to_new(r);
|
||||
ret = req_to_new(r);
|
||||
if (ret) {
|
||||
v4l2_ctrl_unlock(master);
|
||||
goto error;
|
||||
}
|
||||
master->cluster[i]->is_new = 1;
|
||||
r->req_done = true;
|
||||
}
|
||||
@@ -490,6 +494,7 @@ int v4l2_ctrl_request_setup(struct media_request *req,
|
||||
break;
|
||||
}
|
||||
|
||||
error:
|
||||
media_request_object_put(obj);
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user