linux/drivers/media/test-drivers/vimc/vimc-capture.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * vimc-capture.c Virtual Media Controller Driver
 *
 * Copyright (C) 2015-2017 Helen Koike <[email protected]>
 */

#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)
{}

/*
 * Stop the stream engine. Any remaining buffers in the stream queue are
 * dequeued and passed on to the vb2 framework marked as STATE_ERROR.
 */
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 =;