#include <linux/delay.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/v4l2-dv-timings.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-dv-timings.h>
#include <media/v4l2-ioctl.h>
#include "adv748x.h"
#define ADV748X_AFE_STD_AD_PAL_BG_NTSC_J_SECAM …
#define ADV748X_AFE_STD_AD_PAL_BG_NTSC_J_SECAM_PED …
#define ADV748X_AFE_STD_AD_PAL_N_NTSC_J_SECAM …
#define ADV748X_AFE_STD_AD_PAL_N_NTSC_M_SECAM …
#define ADV748X_AFE_STD_NTSC_J …
#define ADV748X_AFE_STD_NTSC_M …
#define ADV748X_AFE_STD_PAL60 …
#define ADV748X_AFE_STD_NTSC_443 …
#define ADV748X_AFE_STD_PAL_BG …
#define ADV748X_AFE_STD_PAL_N …
#define ADV748X_AFE_STD_PAL_M …
#define ADV748X_AFE_STD_PAL_M_PED …
#define ADV748X_AFE_STD_PAL_COMB_N …
#define ADV748X_AFE_STD_PAL_COMB_N_PED …
#define ADV748X_AFE_STD_PAL_SECAM …
#define ADV748X_AFE_STD_PAL_SECAM_PED …
static int adv748x_afe_read_ro_map(struct adv748x_state *state, u8 reg)
{ … }
static int adv748x_afe_status(struct adv748x_afe *afe, u32 *signal,
v4l2_std_id *std)
{ … }
static void adv748x_afe_fill_format(struct adv748x_afe *afe,
struct v4l2_mbus_framefmt *fmt)
{ … }
static int adv748x_afe_std(v4l2_std_id std)
{ … }
static void adv748x_afe_set_video_standard(struct adv748x_state *state,
int sdpstd)
{ … }
int adv748x_afe_s_input(struct adv748x_afe *afe, unsigned int input)
{ … }
static int adv748x_afe_g_pixelaspect(struct v4l2_subdev *sd,
struct v4l2_fract *aspect)
{ … }
static int adv748x_afe_g_std(struct v4l2_subdev *sd, v4l2_std_id *norm)
{ … }
static int adv748x_afe_s_std(struct v4l2_subdev *sd, v4l2_std_id std)
{ … }
static int adv748x_afe_querystd(struct v4l2_subdev *sd, v4l2_std_id *std)
{ … }
static int adv748x_afe_g_tvnorms(struct v4l2_subdev *sd, v4l2_std_id *norm)
{ … }
static int adv748x_afe_g_input_status(struct v4l2_subdev *sd, u32 *status)
{ … }
static int adv748x_afe_s_stream(struct v4l2_subdev *sd, int enable)
{ … }
static const struct v4l2_subdev_video_ops adv748x_afe_video_ops = …;
static int adv748x_afe_propagate_pixelrate(struct adv748x_afe *afe)
{ … }
static int adv748x_afe_enum_mbus_code(struct v4l2_subdev *sd,
struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_mbus_code_enum *code)
{ … }
static int adv748x_afe_get_format(struct v4l2_subdev *sd,
struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_format *sdformat)
{ … }
static int adv748x_afe_set_format(struct v4l2_subdev *sd,
struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_format *sdformat)
{ … }
static const struct v4l2_subdev_pad_ops adv748x_afe_pad_ops = …;
static const struct v4l2_subdev_ops adv748x_afe_ops = …;
static const char * const afe_ctrl_frp_menu[] = …;
static int adv748x_afe_s_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static const struct v4l2_ctrl_ops adv748x_afe_ctrl_ops = …;
static int adv748x_afe_init_controls(struct adv748x_afe *afe)
{ … }
int adv748x_afe_init(struct adv748x_afe *afe)
{ … }
void adv748x_afe_cleanup(struct adv748x_afe *afe)
{ … }