#include "saa7134.h"
#include "saa7134-reg.h"
#include <linux/init.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/sort.h>
#include <media/v4l2-common.h>
#include <media/v4l2-event.h>
#include <media/i2c/saa6588.h>
unsigned int video_debug;
static unsigned int gbuffers = …;
static unsigned int noninterlaced;
static unsigned int gbufsize = …;
static unsigned int gbufsize_max = …;
static char secam[] = …;
module_param(video_debug, int, 0644);
MODULE_PARM_DESC(…) …;
module_param(gbuffers, int, 0444);
MODULE_PARM_DESC(…) …;
module_param(noninterlaced, int, 0644);
MODULE_PARM_DESC(…) …;
module_param_string(…);
MODULE_PARM_DESC(…) …;
#define video_dbg(fmt, arg...) …
#define VP_T_CODE_P_NON_INVERTED …
#define VP_T_CODE_P_INVERTED …
#define VP_CLK_CTRL2_NOT_DELAYED …
#define VP_CLK_CTRL2_DELAYED …
#define VP_CLK_CTRL1_NON_INVERTED …
#define VP_CLK_CTRL1_INVERTED …
#define VP_VS_TYPE_MASK …
#define VP_VS_TYPE_OFF …
#define VP_VS_TYPE_V123 …
#define VP_VS_TYPE_V_ITU …
#define VP_VS_TYPE_VGATE_L …
#define VP_VS_TYPE_RESERVED1 …
#define VP_VS_TYPE_RESERVED2 …
#define VP_VS_TYPE_F_ITU …
#define VP_VS_TYPE_SC_FID …
static int video_out[][9] = …;
static struct saa7134_format formats[] = …;
#define FORMATS …
#define NORM_625_50 …
#define NORM_525_60 …
static struct saa7134_tvnorm tvnorms[] = …;
#define TVNORMS …
static struct saa7134_format* format_by_fourcc(unsigned int fourcc)
{ … }
static void set_tvnorm(struct saa7134_dev *dev, struct saa7134_tvnorm *norm)
{ … }
static void video_mux(struct saa7134_dev *dev, int input)
{ … }
static void saa7134_set_decoder(struct saa7134_dev *dev)
{ … }
void saa7134_set_tvnorm_hw(struct saa7134_dev *dev)
{ … }
static void set_h_prescale(struct saa7134_dev *dev, int task, int prescale)
{ … }
static void set_v_scale(struct saa7134_dev *dev, int task, int yscale)
{ … }
static void set_size(struct saa7134_dev *dev, int task,
int width, int height, int interlace)
{ … }
static int saa7134_enable_analog_tuner(struct saa7134_dev *dev)
{ … }
static int buffer_activate(struct saa7134_dev *dev,
struct saa7134_buf *buf,
struct saa7134_buf *next)
{ … }
static int buffer_init(struct vb2_buffer *vb2)
{ … }
static int buffer_prepare(struct vb2_buffer *vb2)
{ … }
static int queue_setup(struct vb2_queue *q,
unsigned int *nbuffers, unsigned int *nplanes,
unsigned int sizes[], struct device *alloc_devs[])
{ … }
void saa7134_vb2_buffer_queue(struct vb2_buffer *vb)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_vb2_start_streaming(struct vb2_queue *vq, unsigned int count)
{ … }
void saa7134_vb2_stop_streaming(struct vb2_queue *vq)
{ … }
static const struct vb2_ops vb2_qops = …;
static int saa7134_s_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static int video_open(struct file *file)
{ … }
static int video_release(struct file *file)
{ … }
static ssize_t radio_read(struct file *file, char __user *data,
size_t count, loff_t *ppos)
{ … }
static __poll_t radio_poll(struct file *file, poll_table *wait)
{ … }
static int saa7134_try_get_set_fmt_vbi_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int saa7134_g_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int saa7134_try_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int saa7134_s_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
int saa7134_enum_input(struct file *file, void *priv, struct v4l2_input *i)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_g_input(struct file *file, void *priv, unsigned int *i)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_s_input(struct file *file, void *priv, unsigned int i)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_querycap(struct file *file, void *priv,
struct v4l2_capability *cap)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_s_std(struct file *file, void *priv, v4l2_std_id id)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_g_std(struct file *file, void *priv, v4l2_std_id *id)
{ … }
EXPORT_SYMBOL_GPL(…);
static v4l2_std_id saa7134_read_std(struct saa7134_dev *dev)
{ … }
int saa7134_querystd(struct file *file, void *priv, v4l2_std_id *std)
{ … }
EXPORT_SYMBOL_GPL(…);
static int saa7134_g_pixelaspect(struct file *file, void *priv,
int type, struct v4l2_fract *f)
{ … }
static int saa7134_g_selection(struct file *file, void *f, struct v4l2_selection *sel)
{ … }
static int saa7134_s_selection(struct file *file, void *f, struct v4l2_selection *sel)
{ … }
int saa7134_g_tuner(struct file *file, void *priv,
struct v4l2_tuner *t)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_s_tuner(struct file *file, void *priv,
const struct v4l2_tuner *t)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_g_frequency(struct file *file, void *priv,
struct v4l2_frequency *f)
{ … }
EXPORT_SYMBOL_GPL(…);
int saa7134_s_frequency(struct file *file, void *priv,
const struct v4l2_frequency *f)
{ … }
EXPORT_SYMBOL_GPL(…);
static int saa7134_enum_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_fmtdesc *f)
{ … }
#ifdef CONFIG_VIDEO_ADV_DEBUG
static int vidioc_g_register (struct file *file, void *priv,
struct v4l2_dbg_register *reg)
{ … }
static int vidioc_s_register (struct file *file, void *priv,
const struct v4l2_dbg_register *reg)
{ … }
#endif
static int radio_g_tuner(struct file *file, void *priv,
struct v4l2_tuner *t)
{ … }
static int radio_s_tuner(struct file *file, void *priv,
const struct v4l2_tuner *t)
{ … }
static const struct v4l2_file_operations video_fops = …;
static const struct v4l2_ioctl_ops video_ioctl_ops = …;
static const struct v4l2_file_operations radio_fops = …;
static const struct v4l2_ioctl_ops radio_ioctl_ops = …;
struct video_device saa7134_video_template = …;
struct video_device saa7134_radio_template = …;
static const struct v4l2_ctrl_ops saa7134_ctrl_ops = …;
static const struct v4l2_ctrl_config saa7134_ctrl_invert = …;
static const struct v4l2_ctrl_config saa7134_ctrl_y_odd = …;
static const struct v4l2_ctrl_config saa7134_ctrl_y_even = …;
static const struct v4l2_ctrl_config saa7134_ctrl_automute = …;
int saa7134_video_init1(struct saa7134_dev *dev)
{ … }
void saa7134_video_fini(struct saa7134_dev *dev)
{ … }
int saa7134_videoport_init(struct saa7134_dev *dev)
{ … }
int saa7134_video_init2(struct saa7134_dev *dev)
{ … }
void saa7134_irq_video_signalchange(struct saa7134_dev *dev)
{ … }
void saa7134_irq_video_done(struct saa7134_dev *dev, unsigned long status)
{ … }