summaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil-cisco@xs4all.nl>2022-07-30 17:48:36 +0200
committerMauro Carvalho Chehab <mchehab@kernel.org>2022-08-29 15:32:13 +0200
commit6b1aaa689348fecba304911e6bc89f3f5b0a4825 (patch)
treea0c257c528e0d8a03a950dd002742797a65acfdc /include/media
parent6bc7643d1b9cf131f6ef98082548dec83f753fb8 (diff)
downloadlinux-6b1aaa689348fecba304911e6bc89f3f5b0a4825.tar.gz
linux-6b1aaa689348fecba304911e6bc89f3f5b0a4825.tar.bz2
linux-6b1aaa689348fecba304911e6bc89f3f5b0a4825.zip
media: v4l2-ctrls: optimize type_ops for arrays
Initializing arrays and validating or checking for equality of arrays is suboptimal since it does this per element. Change the ops to operate on the whole payload to speed up array operations. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/v4l2-ctrls.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h
index 607960309579..879bdde5131b 100644
--- a/include/media/v4l2-ctrls.h
+++ b/include/media/v4l2-ctrls.h
@@ -128,13 +128,13 @@ struct v4l2_ctrl_ops {
* otherwise.
*/
struct v4l2_ctrl_type_ops {
- bool (*equal)(const struct v4l2_ctrl *ctrl, u32 idx,
+ bool (*equal)(const struct v4l2_ctrl *ctrl, u32 elems,
union v4l2_ctrl_ptr ptr1,
union v4l2_ctrl_ptr ptr2);
- void (*init)(const struct v4l2_ctrl *ctrl, u32 idx,
+ void (*init)(const struct v4l2_ctrl *ctrl, u32 from_idx, u32 tot_elems,
union v4l2_ctrl_ptr ptr);
void (*log)(const struct v4l2_ctrl *ctrl);
- int (*validate)(const struct v4l2_ctrl *ctrl, u32 idx,
+ int (*validate)(const struct v4l2_ctrl *ctrl, u32 elems,
union v4l2_ctrl_ptr ptr);
};