#include <linux/sizes.h>
#include <linux/delay.h>
#include <linux/firmware.h>
#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/media.h>
#include <linux/module.h>
#include <linux/regulator/consumer.h>
#include <linux/slab.h>
#include <linux/spi/spi.h>
#include <linux/videodev2.h>
#include <media/media-entity.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-subdev.h>
#include <media/v4l2-mediabus.h>
#include "s5c73m3.h"
static int s5c73m3_get_af_status(struct s5c73m3 *state, struct v4l2_ctrl *ctrl)
{ … }
static int s5c73m3_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static int s5c73m3_set_colorfx(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_set_exposure(struct s5c73m3 *state, int auto_exp)
{ … }
static int s5c73m3_set_white_balance(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_af_run(struct s5c73m3 *state, bool on)
{ … }
static int s5c73m3_3a_lock(struct s5c73m3 *state, struct v4l2_ctrl *ctrl)
{ … }
static int s5c73m3_set_auto_focus(struct s5c73m3 *state, int caf)
{ … }
static int s5c73m3_set_contrast(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_set_saturation(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_set_sharpness(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_set_iso(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_set_stabilization(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_set_jpeg_quality(struct s5c73m3 *state, int quality)
{ … }
static int s5c73m3_set_scene_program(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_set_power_line_freq(struct s5c73m3 *state, int val)
{ … }
static int s5c73m3_s_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static const struct v4l2_ctrl_ops s5c73m3_ctrl_ops = …;
static const s64 iso_qmenu[] = …;
static const s64 ev_bias_qmenu[] = …;
int s5c73m3_init_controls(struct s5c73m3 *state)
{ … }