#include <linux/module.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/i2c.h>
#include <linux/slab.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-device.h>
#define DRIVER_NAME …
#define FREQ_MUL …
#define TEF6862_LO_FREQ …
#define TEF6862_HI_FREQ …
#define WM_SUB_BANDWIDTH …
#define WM_SUB_PLLM …
#define WM_SUB_PLLL …
#define WM_SUB_DAA …
#define WM_SUB_AGC …
#define WM_SUB_BAND …
#define WM_SUB_CONTROL …
#define WM_SUB_LEVEL …
#define WM_SUB_IFCF …
#define WM_SUB_IFCAP …
#define WM_SUB_ACD …
#define WM_SUB_TEST …
#define MSA_MODE_BUFFER …
#define MSA_MODE_PRESET …
#define MSA_MODE_SEARCH …
#define MSA_MODE_AF_UPDATE …
#define MSA_MODE_JUMP …
#define MSA_MODE_CHECK …
#define MSA_MODE_LOAD …
#define MSA_MODE_END …
#define MSA_MODE_SHIFT …
struct tef6862_state { … };
static inline struct tef6862_state *to_state(struct v4l2_subdev *sd)
{ … }
static u16 tef6862_sigstr(struct i2c_client *client)
{ … }
static int tef6862_g_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *v)
{ … }
static int tef6862_s_tuner(struct v4l2_subdev *sd, const struct v4l2_tuner *v)
{ … }
static int tef6862_s_frequency(struct v4l2_subdev *sd, const struct v4l2_frequency *f)
{ … }
static int tef6862_g_frequency(struct v4l2_subdev *sd, struct v4l2_frequency *f)
{ … }
static const struct v4l2_subdev_tuner_ops tef6862_tuner_ops = …;
static const struct v4l2_subdev_ops tef6862_ops = …;
static int tef6862_probe(struct i2c_client *client)
{ … }
static void tef6862_remove(struct i2c_client *client)
{ … }
static const struct i2c_device_id tef6862_id[] = …;
MODULE_DEVICE_TABLE(i2c, tef6862_id);
static struct i2c_driver tef6862_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;