X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Fmedia%2Fsoc_camera.h;h=e29ff74fbe32bdc6f10d211a4abb778ce1613a14;hb=592c2aba266ca5be0dce300d0400817d943d49af;hp=09b827192ae70b0a13a9ff8df8edeecc8b2d9171;hpb=bd94f588283b167f7fa8c2dc2164dcd2f4a4a7a5;p=deliverable%2Flinux.git diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h index 09b827192ae7..e29ff74fbe32 100644 --- a/include/media/soc_camera.h +++ b/include/media/soc_camera.h @@ -17,6 +17,7 @@ #include #include #include +#include #include 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