[media] V4L: soc-camera: extend to also support videobuf2
[deliverable/linux.git] / include / media / soc_camera.h
index 09b827192ae70b0a13a9ff8df8edeecc8b2d9171..e29ff74fbe32bdc6f10d211a4abb778ce1613a14 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/pm.h>
 #include <linux/videodev2.h>
 #include <media/videobuf-core.h>
+#include <media/videobuf2-core.h>
 #include <media/v4l2-device.h>
 
 extern struct bus_type soc_camera_bus_type;
@@ -44,7 +45,10 @@ struct soc_camera_device {
        int use_count;
        struct mutex video_lock;        /* Protects device data */
        struct file *streamer;          /* stream owner */
-       struct videobuf_queue vb_vidq;
+       union {
+               struct videobuf_queue vb_vidq;
+               struct vb2_queue vb2_vidq;
+       };
 };
 
 struct soc_camera_host {
@@ -78,6 +82,8 @@ struct soc_camera_host_ops {
        int (*try_fmt)(struct soc_camera_device *, struct v4l2_format *);
        void (*init_videobuf)(struct videobuf_queue *,
                              struct soc_camera_device *);
+       int (*init_videobuf2)(struct vb2_queue *,
+                             struct soc_camera_device *);
        int (*reqbufs)(struct soc_camera_device *, struct v4l2_requestbuffers *);
        int (*querycap)(struct soc_camera_host *, struct v4l2_capability *);
        int (*set_bus_param)(struct soc_camera_device *, __u32);
@@ -300,4 +306,7 @@ static inline struct video_device *soc_camera_i2c_to_vdev(struct i2c_client *cli
        return icd->vdev;
 }
 
+void soc_camera_lock(struct vb2_queue *vq);
+void soc_camera_unlock(struct vb2_queue *vq);
+
 #endif
This page took 0.027883 seconds and 5 git commands to generate.