linux/drivers/media/platform/sunxi/sun6i-csi/sun6i_video.h
<<
>>
Prefs
   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 */
   7
   8#ifndef __SUN6I_VIDEO_H__
   9#define __SUN6I_VIDEO_H__
  10
  11#include <media/v4l2-dev.h>
  12#include <media/videobuf2-core.h>
  13
  14struct sun6i_csi;
  15
  16struct sun6i_video {
  17        struct video_device             vdev;
  18        struct media_pad                pad;
  19        struct sun6i_csi                *csi;
  20
  21        struct mutex                    lock;
  22
  23        struct vb2_queue                vb2_vidq;
  24        spinlock_t                      dma_queue_lock;
  25        struct list_head                dma_queue;
  26
  27        unsigned int                    sequence;
  28        struct v4l2_format              fmt;
  29        u32                             mbus_code;
  30};
  31
  32int sun6i_video_init(struct sun6i_video *video, struct sun6i_csi *csi,
  33                     const char *name);
  34void sun6i_video_cleanup(struct sun6i_video *video);
  35
  36void sun6i_video_frame_done(struct sun6i_video *video);
  37
  38#endif /* __SUN6I_VIDEO_H__ */
  39