#include <linux/pm_runtime.h>
#include <media/v4l2-event.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-mc.h>
#include <media/v4l2-rect.h>
#include "rcar-vin.h"
#define RVIN_DEFAULT_FORMAT …
#define RVIN_DEFAULT_WIDTH …
#define RVIN_DEFAULT_HEIGHT …
#define RVIN_DEFAULT_FIELD …
#define RVIN_DEFAULT_COLORSPACE …
static const struct rvin_video_format rvin_formats[] = …;
const struct rvin_video_format *rvin_format_from_pixel(struct rvin_dev *vin,
u32 pixelformat)
{ … }
static u32 rvin_format_bytesperline(struct rvin_dev *vin,
struct v4l2_pix_format *pix)
{ … }
static u32 rvin_format_sizeimage(struct v4l2_pix_format *pix)
{ … }
static void rvin_format_align(struct rvin_dev *vin, struct v4l2_pix_format *pix)
{ … }
static int rvin_reset_format(struct rvin_dev *vin)
{ … }
static int rvin_try_format(struct rvin_dev *vin, u32 which,
struct v4l2_pix_format *pix,
struct v4l2_rect *src_rect)
{ … }
static int rvin_querycap(struct file *file, void *priv,
struct v4l2_capability *cap)
{ … }
static int rvin_try_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int rvin_s_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int rvin_g_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int rvin_enum_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_fmtdesc *f)
{ … }
static int rvin_remote_rectangle(struct rvin_dev *vin, struct v4l2_rect *rect)
{ … }
static int rvin_g_selection(struct file *file, void *fh,
struct v4l2_selection *s)
{ … }
static int rvin_s_selection(struct file *file, void *fh,
struct v4l2_selection *s)
{ … }
static int rvin_g_parm(struct file *file, void *priv,
struct v4l2_streamparm *parm)
{ … }
static int rvin_s_parm(struct file *file, void *priv,
struct v4l2_streamparm *parm)
{ … }
static int rvin_g_pixelaspect(struct file *file, void *priv,
int type, struct v4l2_fract *f)
{ … }
static int rvin_enum_input(struct file *file, void *priv,
struct v4l2_input *i)
{ … }
static int rvin_g_input(struct file *file, void *priv, unsigned int *i)
{ … }
static int rvin_s_input(struct file *file, void *priv, unsigned int i)
{ … }
static int rvin_querystd(struct file *file, void *priv, v4l2_std_id *a)
{ … }
static int rvin_s_std(struct file *file, void *priv, v4l2_std_id a)
{ … }
static int rvin_g_std(struct file *file, void *priv, v4l2_std_id *a)
{ … }
static int rvin_subscribe_event(struct v4l2_fh *fh,
const struct v4l2_event_subscription *sub)
{ … }
static int rvin_enum_dv_timings(struct file *file, void *priv_fh,
struct v4l2_enum_dv_timings *timings)
{ … }
static int rvin_s_dv_timings(struct file *file, void *priv_fh,
struct v4l2_dv_timings *timings)
{ … }
static int rvin_g_dv_timings(struct file *file, void *priv_fh,
struct v4l2_dv_timings *timings)
{ … }
static int rvin_query_dv_timings(struct file *file, void *priv_fh,
struct v4l2_dv_timings *timings)
{ … }
static int rvin_dv_timings_cap(struct file *file, void *priv_fh,
struct v4l2_dv_timings_cap *cap)
{ … }
static int rvin_g_edid(struct file *file, void *fh, struct v4l2_edid *edid)
{ … }
static int rvin_s_edid(struct file *file, void *fh, struct v4l2_edid *edid)
{ … }
static const struct v4l2_ioctl_ops rvin_ioctl_ops = …;
static void rvin_mc_try_format(struct rvin_dev *vin,
struct v4l2_pix_format *pix)
{ … }
static int rvin_mc_try_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int rvin_mc_s_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static const struct v4l2_ioctl_ops rvin_mc_ioctl_ops = …;
static int rvin_power_parallel(struct rvin_dev *vin, bool on)
{ … }
static int rvin_open(struct file *file)
{ … }
static int rvin_release(struct file *file)
{ … }
static const struct v4l2_file_operations rvin_fops = …;
void rvin_v4l2_unregister(struct rvin_dev *vin)
{ … }
static void rvin_notify_video_device(struct rvin_dev *vin,
unsigned int notification, void *arg)
{ … }
static void rvin_notify(struct v4l2_subdev *sd,
unsigned int notification, void *arg)
{ … }
int rvin_v4l2_register(struct rvin_dev *vin)
{ … }