#include <linux/v4l2-mediabus.h>
#include <linux/vmalloc.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-event.h>
#include <media/v4l2-subdev.h>
#include <media/tpg/v4l2-tpg.h>
#include "vimc-common.h"
enum vimc_sensor_osd_mode { … };
struct vimc_sensor_device { … };
static const struct v4l2_mbus_framefmt fmt_default = …;
static int vimc_sensor_init_state(struct v4l2_subdev *sd,
struct v4l2_subdev_state *sd_state)
{ … }
static int vimc_sensor_enum_mbus_code(struct v4l2_subdev *sd,
struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_mbus_code_enum *code)
{ … }
static int vimc_sensor_enum_frame_size(struct v4l2_subdev *sd,
struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_frame_size_enum *fse)
{ … }
static void vimc_sensor_tpg_s_format(struct vimc_sensor_device *vsensor,
const struct v4l2_mbus_framefmt *format)
{ … }
static void vimc_sensor_adjust_fmt(struct v4l2_mbus_framefmt *fmt)
{ … }
static int vimc_sensor_set_fmt(struct v4l2_subdev *sd,
struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_format *fmt)
{ … }
static const struct v4l2_subdev_pad_ops vimc_sensor_pad_ops = …;
static void *vimc_sensor_process_frame(struct vimc_ent_device *ved,
const void *sink_frame)
{ … }
static int vimc_sensor_s_stream(struct v4l2_subdev *sd, int enable)
{ … }
static const struct v4l2_subdev_core_ops vimc_sensor_core_ops = …;
static const struct v4l2_subdev_video_ops vimc_sensor_video_ops = …;
static const struct v4l2_subdev_ops vimc_sensor_ops = …;
static const struct v4l2_subdev_internal_ops vimc_sensor_internal_ops = …;
static int vimc_sensor_s_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static const struct v4l2_ctrl_ops vimc_sensor_ctrl_ops = …;
static void vimc_sensor_release(struct vimc_ent_device *ved)
{ … }
static const struct v4l2_ctrl_config vimc_sensor_ctrl_class = …;
static const struct v4l2_ctrl_config vimc_sensor_ctrl_test_pattern = …;
static const char * const vimc_ctrl_osd_mode_strings[] = …;
static const struct v4l2_ctrl_config vimc_sensor_ctrl_osd_mode = …;
static struct vimc_ent_device *vimc_sensor_add(struct vimc_device *vimc,
const char *vcfg_name)
{ … }
const struct vimc_ent_type vimc_sensor_type = …;