linux/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 *
 *  Copyright (C) 2005 Mike Isely <[email protected]>
 *  Copyright (C) 2004 Aurelien Alleaume <[email protected]>
 */

#include <linux/kernel.h>
#include <linux/slab.h>
#include "pvrusb2-context.h"
#include "pvrusb2-hdw.h"
#include "pvrusb2.h"
#include "pvrusb2-debug.h"
#include "pvrusb2-v4l2.h"
#include "pvrusb2-ioread.h"
#include <linux/videodev2.h>
#include <linux/module.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fh.h>
#include <media/v4l2-common.h>
#include <media/v4l2-ioctl.h>

struct pvr2_v4l2_dev;
struct pvr2_v4l2_fh;
struct pvr2_v4l2;

struct pvr2_v4l2_dev {};

struct pvr2_v4l2_fh {};

struct pvr2_v4l2 {};

static int video_nr[PVR_NUM] =;
module_param_array();
MODULE_PARM_DESC();
static int radio_nr[PVR_NUM] =;
module_param_array();
MODULE_PARM_DESC();
static int vbi_nr[PVR_NUM] =;
module_param_array();
MODULE_PARM_DESC();

#define PVR_FORMAT_PIX
#define PVR_FORMAT_VBI

static struct v4l2_format pvr_format [] =;



/*
 * This is part of Video 4 Linux API. These procedures handle ioctl() calls.
 */
static int pvr2_querycap(struct file *file, void *priv, struct v4l2_capability *cap)
{}

static int pvr2_g_std(struct file *file, void *priv, v4l2_std_id *std)
{}

static int pvr2_s_std(struct file *file, void *priv, v4l2_std_id std)
{}

static int pvr2_querystd(struct file *file, void *priv, v4l2_std_id *std)
{}

static int pvr2_enum_input(struct file *file, void *priv, struct v4l2_input *vi)
{}

static int pvr2_g_input(struct file *file, void *priv, unsigned int *i)
{}

static int pvr2_s_input(struct file *file, void *priv, unsigned int inp)
{}

static int pvr2_enumaudio(struct file *file, void *priv, struct v4l2_audio *vin)
{}

static int pvr2_g_audio(struct file *file, void *priv, struct v4l2_audio *vin)
{}

static int pvr2_s_audio(struct file *file, void *priv, const struct v4l2_audio *vout)
{}

static int pvr2_g_tuner(struct file *file, void *priv, struct v4l2_tuner *vt)
{}

static int pvr2_s_tuner(struct file *file, void *priv, const struct v4l2_tuner *vt)
{}

static int pvr2_s_frequency(struct file *file, void *priv, const struct v4l2_frequency *vf)
{}

static int pvr2_g_frequency(struct file *file, void *priv, struct v4l2_frequency *vf)
{}

static int pvr2_enum_fmt_vid_cap(struct file *file, void *priv, struct v4l2_fmtdesc *fd)
{}

static int pvr2_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *vf)
{}

static int pvr2_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *vf)
{}

static int pvr2_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *vf)
{}

static int pvr2_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
{}

static int pvr2_streamoff(struct file *file, void *priv, enum v4l2_buf_type i)
{}

static int pvr2_queryctrl(struct file *file, void *priv,
		struct v4l2_queryctrl *vc)
{}

static int pvr2_querymenu(struct file *file, void *priv, struct v4l2_querymenu *vm)
{}

static int pvr2_g_ctrl(struct file *file, void *priv, struct v4l2_control *vc)
{}

static int pvr2_s_ctrl(struct file *file, void *priv, struct v4l2_control *vc)
{}

static int pvr2_g_ext_ctrls(struct file *file, void *priv,
					struct v4l2_ext_controls *ctls)
{}

static int pvr2_s_ext_ctrls(struct file *file, void *priv,
		struct v4l2_ext_controls *ctls)
{}

static int pvr2_try_ext_ctrls(struct file *file, void *priv,
		struct v4l2_ext_controls *ctls)
{}

static int pvr2_g_pixelaspect(struct file *file, void *priv,
			      int type, struct v4l2_fract *f)
{}

static int pvr2_g_selection(struct file *file, void *priv,
			    struct v4l2_selection *sel)
{}

static int pvr2_s_selection(struct file *file, void *priv,
			    struct v4l2_selection *sel)
{}

static int pvr2_log_status(struct file *file, void *priv)
{}

static const struct v4l2_ioctl_ops pvr2_ioctl_ops =;

static void pvr2_v4l2_dev_destroy(struct pvr2_v4l2_dev *dip)
{}


static void pvr2_v4l2_dev_disassociate_parent(struct pvr2_v4l2_dev *dip)
{}


static void pvr2_v4l2_destroy_no_lock(struct pvr2_v4l2 *vp)
{}


static void pvr2_video_device_release(struct video_device *vdev)
{}


static void pvr2_v4l2_internal_check(struct pvr2_channel *chp)
{}


static int pvr2_v4l2_release(struct file *file)
{}


static int pvr2_v4l2_open(struct file *file)
{}


static void pvr2_v4l2_notify(void *ptr)
{}

static int pvr2_v4l2_iosetup(struct pvr2_v4l2_fh *fh)
{}


static ssize_t pvr2_v4l2_read(struct file *file,
			      char __user *buff, size_t count, loff_t *ppos)
{}


static __poll_t pvr2_v4l2_poll(struct file *file, poll_table *wait)
{}


static const struct v4l2_file_operations vdev_fops =;


static const struct video_device vdev_template =;


static void pvr2_v4l2_dev_init(struct pvr2_v4l2_dev *dip,
			       struct pvr2_v4l2 *vp,
			       int v4l_type)
{}


struct pvr2_v4l2 *pvr2_v4l2_create(struct pvr2_context *mnp)
{}