#include <linux/clk.h>
#include <linux/mm.h>
#include <linux/pagemap.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/module.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-mc.h>
#include "iss_video.h"
#include "iss.h"
static struct iss_format_info formats[] = …;
const struct iss_format_info *
omap4iss_video_format_info(u32 code)
{ … }
static unsigned int iss_video_mbus_to_pix(const struct iss_video *video,
const struct v4l2_mbus_framefmt *mbus,
struct v4l2_pix_format *pix)
{ … }
static void iss_video_pix_to_mbus(const struct v4l2_pix_format *pix,
struct v4l2_mbus_framefmt *mbus)
{ … }
static struct v4l2_subdev *
iss_video_remote_subdev(struct iss_video *video, u32 *pad)
{ … }
static struct iss_video *
iss_video_far_end(struct iss_video *video, struct iss_pipeline *pipe)
{ … }
static int
__iss_video_get_format(struct iss_video *video,
struct v4l2_mbus_framefmt *format)
{ … }
static int
iss_video_check_format(struct iss_video *video, struct iss_video_fh *vfh)
{ … }
static int iss_video_queue_setup(struct vb2_queue *vq,
unsigned int *count, unsigned int *num_planes,
unsigned int sizes[],
struct device *alloc_devs[])
{ … }
static void iss_video_buf_cleanup(struct vb2_buffer *vb)
{ … }
static int iss_video_buf_prepare(struct vb2_buffer *vb)
{ … }
static void iss_video_buf_queue(struct vb2_buffer *vb)
{ … }
static const struct vb2_ops iss_video_vb2ops = …;
struct iss_buffer *omap4iss_video_buffer_next(struct iss_video *video)
{ … }
void omap4iss_video_cancel_stream(struct iss_video *video)
{ … }
static int
iss_video_querycap(struct file *file, void *fh, struct v4l2_capability *cap)
{ … }
static int
iss_video_enum_format(struct file *file, void *fh, struct v4l2_fmtdesc *f)
{ … }
static int
iss_video_get_format(struct file *file, void *fh, struct v4l2_format *format)
{ … }
static int
iss_video_set_format(struct file *file, void *fh, struct v4l2_format *format)
{ … }
static int
iss_video_try_format(struct file *file, void *fh, struct v4l2_format *format)
{ … }
static int
iss_video_get_selection(struct file *file, void *fh, struct v4l2_selection *sel)
{ … }
static int
iss_video_set_selection(struct file *file, void *fh, struct v4l2_selection *sel)
{ … }
static int
iss_video_get_param(struct file *file, void *fh, struct v4l2_streamparm *a)
{ … }
static int
iss_video_set_param(struct file *file, void *fh, struct v4l2_streamparm *a)
{ … }
static int
iss_video_reqbufs(struct file *file, void *fh, struct v4l2_requestbuffers *rb)
{ … }
static int
iss_video_querybuf(struct file *file, void *fh, struct v4l2_buffer *b)
{ … }
static int
iss_video_qbuf(struct file *file, void *fh, struct v4l2_buffer *b)
{ … }
static int
iss_video_expbuf(struct file *file, void *fh, struct v4l2_exportbuffer *e)
{ … }
static int
iss_video_dqbuf(struct file *file, void *fh, struct v4l2_buffer *b)
{ … }
static int
iss_video_streamon(struct file *file, void *fh, enum v4l2_buf_type type)
{ … }
static int
iss_video_streamoff(struct file *file, void *fh, enum v4l2_buf_type type)
{ … }
static int
iss_video_enum_input(struct file *file, void *fh, struct v4l2_input *input)
{ … }
static int
iss_video_g_input(struct file *file, void *fh, unsigned int *input)
{ … }
static int
iss_video_s_input(struct file *file, void *fh, unsigned int input)
{ … }
static const struct v4l2_ioctl_ops iss_video_ioctl_ops = …;
static int iss_video_open(struct file *file)
{ … }
static int iss_video_release(struct file *file)
{ … }
static __poll_t iss_video_poll(struct file *file, poll_table *wait)
{ … }
static int iss_video_mmap(struct file *file, struct vm_area_struct *vma)
{ … }
static const struct v4l2_file_operations iss_video_fops = …;
static const struct iss_video_operations iss_video_dummy_ops = …;
int omap4iss_video_init(struct iss_video *video, const char *name)
{ … }
void omap4iss_video_cleanup(struct iss_video *video)
{ … }
int omap4iss_video_register(struct iss_video *video, struct v4l2_device *vdev)
{ … }
void omap4iss_video_unregister(struct iss_video *video)
{ … }