#include <media/v4l2-ioctl.h>
#include <media/videobuf2-core.h>
#include <media/videobuf2-dma-contig.h>
#include <media/videobuf2-vmalloc.h>
#include "vimc-common.h"
#include "vimc-streamer.h"
struct vimc_capture_device { … };
static const struct v4l2_pix_format fmt_default = …;
struct vimc_capture_buffer { … };
static int vimc_capture_querycap(struct file *file, void *priv,
struct v4l2_capability *cap)
{ … }
static void vimc_capture_get_format(struct vimc_ent_device *ved,
struct v4l2_pix_format *fmt)
{ … }
static int vimc_capture_g_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int vimc_capture_try_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int vimc_capture_s_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int vimc_capture_enum_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_fmtdesc *f)
{ … }
static int vimc_capture_enum_framesizes(struct file *file, void *fh,
struct v4l2_frmsizeenum *fsize)
{ … }
static const struct v4l2_file_operations vimc_capture_fops = …;
static const struct v4l2_ioctl_ops vimc_capture_ioctl_ops = …;
static void vimc_capture_return_all_buffers(struct vimc_capture_device *vcapture,
enum vb2_buffer_state state)
{ … }
static int vimc_capture_start_streaming(struct vb2_queue *vq, unsigned int count)
{ … }
static void vimc_capture_stop_streaming(struct vb2_queue *vq)
{ … }
static void vimc_capture_buf_queue(struct vb2_buffer *vb2_buf)
{ … }
static int vimc_capture_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers,
unsigned int *nplanes, unsigned int sizes[],
struct device *alloc_devs[])
{ … }
static int vimc_capture_buffer_prepare(struct vb2_buffer *vb)
{ … }
static const struct vb2_ops vimc_capture_qops = …;
static const struct media_entity_operations vimc_capture_mops = …;
static void vimc_capture_release(struct vimc_ent_device *ved)
{ … }
static void vimc_capture_unregister(struct vimc_ent_device *ved)
{ … }
static void *vimc_capture_process_frame(struct vimc_ent_device *ved,
const void *frame)
{ … }
static struct vimc_ent_device *vimc_capture_add(struct vimc_device *vimc,
const char *vcfg_name)
{ … }
const struct vimc_ent_type vimc_capture_type = …;