aboutsummaryrefslogtreecommitdiffstats
path: root/include/media/v4l2-subdev.h
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2012-09-13 12:08:19 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-10-05 20:28:00 -0400
commita375e1dfefdb951e0591394ac1796d88a712877f (patch)
tree0bec854a41895ccdbd8835b863f7d9f8c06a9242 /include/media/v4l2-subdev.h
parent24c54f7757659cdab9089dbd416c58f0da1557b0 (diff)
[media] V4L: Add s_rx_buffer subdev video operation
The s_rx_buffer callback allows the host to set buffer for a data being received by the subdev, e.g. non-image frame (meta) data. This callback can be implemented by subdevice like a MIPI CSI2 receiver, allowing the host driver to gather additional data into frame buffer passed to user space. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.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.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index 2ecd7377153b..abf1a0e50333 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -274,6 +274,10 @@ struct v4l2_subdev_audio_ops {
274 s_mbus_config: set a certain mediabus configuration. This operation is added 274 s_mbus_config: set a certain mediabus configuration. This operation is added
275 for compatibility with soc-camera drivers and should not be used by new 275 for compatibility with soc-camera drivers and should not be used by new
276 software. 276 software.
277
278 s_rx_buffer: set a host allocated memory buffer for the subdev. The subdev
279 can adjust @size to a lower value and must not write more data to the
280 buffer starting at @data than the original value of @size.
277 */ 281 */
278struct v4l2_subdev_video_ops { 282struct v4l2_subdev_video_ops {
279 int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config); 283 int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config);
@@ -327,6 +331,8 @@ struct v4l2_subdev_video_ops {
327 struct v4l2_mbus_config *cfg); 331 struct v4l2_mbus_config *cfg);
328 int (*s_mbus_config)(struct v4l2_subdev *sd, 332 int (*s_mbus_config)(struct v4l2_subdev *sd,
329 const struct v4l2_mbus_config *cfg); 333 const struct v4l2_mbus_config *cfg);
334 int (*s_rx_buffer)(struct v4l2_subdev *sd, void *buf,
335 unsigned int *size);
330}; 336};
331 337
332/* 338/*