linux/drivers/media/pci/cx18/cx18-ioctl.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  cx18 ioctl system call
 *
 *  Derived from ivtv-ioctl.c
 *
 *  Copyright (C) 2007  Hans Verkuil <[email protected]>
 *  Copyright (C) 2008  Andy Walls <[email protected]>
 */

#include "cx18-driver.h"
#include "cx18-io.h"
#include "cx18-version.h"
#include "cx18-mailbox.h"
#include "cx18-i2c.h"
#include "cx18-queue.h"
#include "cx18-fileops.h"
#include "cx18-vbi.h"
#include "cx18-audio.h"
#include "cx18-video.h"
#include "cx18-streams.h"
#include "cx18-ioctl.h"
#include "cx18-gpio.h"
#include "cx18-controls.h"
#include "cx18-cards.h"
#include "cx18-av-core.h"
#include <media/tveeprom.h>
#include <media/v4l2-event.h>

static const struct v4l2_fmtdesc cx18_formats_yuv[] =;

static const struct v4l2_fmtdesc cx18_formats_mpeg[] =;

static int cx18_g_fmt_vid_cap(struct file *file, void *fh,
			      struct v4l2_format *fmt)
{}

static int cx18_try_fmt_vid_cap(struct file *file, void *fh,
				struct v4l2_format *fmt)
{}

static int cx18_s_fmt_vid_cap(struct file *file, void *fh,
			      struct v4l2_format *fmt)
{}

u16 cx18_service2vbi(int type)
{}

/* Check if VBI services are allowed on the (field, line) for the video std */
static int valid_service_line(int field, int line, int is_pal)
{}

/*
 * For a (field, line, std) and inbound potential set of services for that line,
 * return the first valid service of those passed in the incoming set for that
 * line in priority order:
 * CC, VPS, or WSS over TELETEXT for well known lines
 * TELETEXT, before VPS, before CC, before WSS, for other lines
 */
static u16 select_service_from_set(int field, int line, u16 set, int is_pal)
{}

/*
 * Expand the service_set of *fmt into valid service_lines for the std,
 * and clear the passed in fmt->service_set
 */
void cx18_expand_service_set(struct v4l2_sliced_vbi_format *fmt, int is_pal)
{}

/*
 * Sanitize the service_lines in *fmt per the video std, and return 1
 * if any service_line is left as valid after santization
 */
static int check_service_set(struct v4l2_sliced_vbi_format *fmt, int is_pal)
{}

/* Compute the service_set from the assumed valid service_lines of *fmt */
u16 cx18_get_service_set(struct v4l2_sliced_vbi_format *fmt)
{}

static int cx18_g_fmt_vbi_cap(struct file *file, void *fh,
				struct v4l2_format *fmt)
{}

static int cx18_g_fmt_sliced_vbi_cap(struct file *file, void *fh,
					struct v4l2_format *fmt)
{}

static int cx18_try_fmt_vbi_cap(struct file *file, void *fh,
				struct v4l2_format *fmt)
{}

static int cx18_try_fmt_sliced_vbi_cap(struct file *file, void *fh,
					struct v4l2_format *fmt)
{}

static int cx18_s_fmt_vbi_cap(struct file *file, void *fh,
				struct v4l2_format *fmt)
{}

static int cx18_s_fmt_sliced_vbi_cap(struct file *file, void *fh,
					struct v4l2_format *fmt)
{}

#ifdef CONFIG_VIDEO_ADV_DEBUG
static int cx18_g_register(struct file *file, void *fh,
				struct v4l2_dbg_register *reg)
{}

static int cx18_s_register(struct file *file, void *fh,
				const struct v4l2_dbg_register *reg)
{}
#endif

static int cx18_querycap(struct file *file, void *fh,
				struct v4l2_capability *vcap)
{}

static int cx18_enumaudio(struct file *file, void *fh, struct v4l2_audio *vin)
{}

static int cx18_g_audio(struct file *file, void *fh, struct v4l2_audio *vin)
{}

static int cx18_s_audio(struct file *file, void *fh, const struct v4l2_audio *vout)
{}

static int cx18_enum_input(struct file *file, void *fh, struct v4l2_input *vin)
{}

static int cx18_g_pixelaspect(struct file *file, void *fh,
			      int type, struct v4l2_fract *f)
{}

static int cx18_g_selection(struct file *file, void *fh,
			    struct v4l2_selection *sel)
{}

static int cx18_enum_fmt_vid_cap(struct file *file, void *fh,
					struct v4l2_fmtdesc *fmt)
{}

static int cx18_g_input(struct file *file, void *fh, unsigned int *i)
{}

int cx18_s_input(struct file *file, void *fh, unsigned int inp)
{}

static int cx18_g_frequency(struct file *file, void *fh,
				struct v4l2_frequency *vf)
{}

int cx18_s_frequency(struct file *file, void *fh, const struct v4l2_frequency *vf)
{}

static int cx18_g_std(struct file *file, void *fh, v4l2_std_id *std)
{}

int cx18_s_std(struct file *file, void *fh, v4l2_std_id std)
{}

static int cx18_s_tuner(struct file *file, void *fh, const struct v4l2_tuner *vt)
{}

static int cx18_g_tuner(struct file *file, void *fh, struct v4l2_tuner *vt)
{}

static int cx18_g_sliced_vbi_cap(struct file *file, void *fh,
					struct v4l2_sliced_vbi_cap *cap)
{}

static int _cx18_process_idx_data(struct cx18_buffer *buf,
				  struct v4l2_enc_idx *idx)
{}

static int cx18_process_idx_data(struct cx18_stream *s, struct cx18_mdl *mdl,
				 struct v4l2_enc_idx *idx)
{}

static int cx18_g_enc_index(struct file *file, void *fh,
				struct v4l2_enc_idx *idx)
{}

static int cx18_encoder_cmd(struct file *file, void *fh,
				struct v4l2_encoder_cmd *enc)
{}

static int cx18_try_encoder_cmd(struct file *file, void *fh,
				struct v4l2_encoder_cmd *enc)
{}

static int cx18_log_status(struct file *file, void *fh)
{}

static long cx18_default(struct file *file, void *fh, bool valid_prio,
			 unsigned int cmd, void *arg)
{}

static const struct v4l2_ioctl_ops cx18_ioctl_ops =;

void cx18_set_funcs(struct video_device *vdev)
{}