aboutsummaryrefslogtreecommitdiffstats
path: root/include/media/v4l2-subdev.h
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2009-12-11 09:14:46 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-16 06:27:13 -0500
commit325361088b73269f4cc96256276a142addbf3454 (patch)
tree6a18f4b10d1df53bfae4a773480fdadfad587b62 /include/media/v4l2-subdev.h
parent11e3d1adbe0246fc8d6c06f7e42aff5bead25670 (diff)
V4L/DVB (13644): v4l: add new v4l2-subdev sensor operations, use g_skip_top_lines in soc-camera
Introduce new v4l2-subdev sensor operations, move .enum_framesizes() and .enum_frameintervals() methods to it, add a new .g_skip_top_lines() method and switch soc-camera to use it instead of .y_skip_top soc_camera_device member, which can now be removed. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Reviewed-by: Sergio Aguirre <saaguirre@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media/v4l2-subdev.h')
-rw-r--r--include/media/v4l2-subdev.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index 7a3408f9d0f2..a128458dc9eb 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -263,6 +263,17 @@ struct v4l2_subdev_video_ops {
263 struct v4l2_dv_timings *timings); 263 struct v4l2_dv_timings *timings);
264}; 264};
265 265
266/**
267 * struct v4l2_subdev_sensor_ops - v4l2-subdev sensor operations
268 * @g_skip_top_lines: number of lines at the top of the image to be skipped.
269 * This is needed for some sensors, which always corrupt
270 * several top lines of the output image, or which send their
271 * metadata in them.
272 */
273struct v4l2_subdev_sensor_ops {
274 int (*g_skip_top_lines)(struct v4l2_subdev *sd, u32 *lines);
275};
276
266/* 277/*
267 interrupt_service_routine: Called by the bridge chip's interrupt service 278 interrupt_service_routine: Called by the bridge chip's interrupt service
268 handler, when an IR interrupt status has be raised due to this subdev, 279 handler, when an IR interrupt status has be raised due to this subdev,
@@ -347,11 +358,12 @@ struct v4l2_subdev_ir_ops {
347}; 358};
348 359
349struct v4l2_subdev_ops { 360struct v4l2_subdev_ops {
350 const struct v4l2_subdev_core_ops *core; 361 const struct v4l2_subdev_core_ops *core;
351 const struct v4l2_subdev_tuner_ops *tuner; 362 const struct v4l2_subdev_tuner_ops *tuner;
352 const struct v4l2_subdev_audio_ops *audio; 363 const struct v4l2_subdev_audio_ops *audio;
353 const struct v4l2_subdev_video_ops *video; 364 const struct v4l2_subdev_video_ops *video;
354 const struct v4l2_subdev_ir_ops *ir; 365 const struct v4l2_subdev_ir_ops *ir;
366 const struct v4l2_subdev_sensor_ops *sensor;
355}; 367};
356 368
357#define V4L2_SUBDEV_NAME_SIZE 32 369#define V4L2_SUBDEV_NAME_SIZE 32