WIP FPC-III support
[linux/fpc-iii.git] / drivers / media / platform / sunxi / sun6i-csi / sun6i_video.h
blobb9cd919c24ac3f72bb51d49d00f38635a13124bf
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3 * Copyright (c) 2011-2018 Magewell Electronics Co., Ltd. (Nanjing)
4 * All rights reserved.
5 * Author: Yong Deng <yong.deng@magewell.com>
6 */
8 #ifndef __SUN6I_VIDEO_H__
9 #define __SUN6I_VIDEO_H__
11 #include <media/v4l2-dev.h>
12 #include <media/videobuf2-core.h>
14 struct sun6i_csi;
16 struct sun6i_video {
17 struct video_device vdev;
18 struct media_pad pad;
19 struct sun6i_csi *csi;
21 struct mutex lock;
23 struct vb2_queue vb2_vidq;
24 spinlock_t dma_queue_lock;
25 struct list_head dma_queue;
27 unsigned int sequence;
28 struct v4l2_format fmt;
29 u32 mbus_code;
32 int sun6i_video_init(struct sun6i_video *video, struct sun6i_csi *csi,
33 const char *name);
34 void sun6i_video_cleanup(struct sun6i_video *video);
36 void sun6i_video_frame_done(struct sun6i_video *video);
38 #endif /* __SUN6I_VIDEO_H__ */