#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/of_graph.h>
#include <linux/regmap.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-fwnode.h>
#include <media/v4l2-subdev.h>
#define MAX96712_ID …
#define MAX96712_DPLL_FREQ …
enum max96712_pattern { … };
struct max96712_priv { … };
static int max96712_read(struct max96712_priv *priv, int reg)
{ … }
static int max96712_write(struct max96712_priv *priv, unsigned int reg, u8 val)
{ … }
static int max96712_update_bits(struct max96712_priv *priv, unsigned int reg,
u8 mask, u8 val)
{ … }
static int max96712_write_bulk(struct max96712_priv *priv, unsigned int reg,
const void *val, size_t val_count)
{ … }
static int max96712_write_bulk_value(struct max96712_priv *priv,
unsigned int reg, unsigned int val,
size_t val_count)
{ … }
static void max96712_reset(struct max96712_priv *priv)
{ … }
static void max96712_mipi_enable(struct max96712_priv *priv, bool enable)
{ … }
static void max96712_mipi_configure(struct max96712_priv *priv)
{ … }
static void max96712_pattern_enable(struct max96712_priv *priv, bool enable)
{ … }
static int max96712_s_stream(struct v4l2_subdev *sd, int enable)
{ … }
static const struct v4l2_subdev_video_ops max96712_video_ops = …;
static int max96712_init_state(struct v4l2_subdev *sd,
struct v4l2_subdev_state *state)
{ … }
static const struct v4l2_subdev_internal_ops max96712_internal_ops = …;
static const struct v4l2_subdev_pad_ops max96712_pad_ops = …;
static const struct v4l2_subdev_ops max96712_subdev_ops = …;
static const char * const max96712_test_pattern[] = …;
static int max96712_s_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static const struct v4l2_ctrl_ops max96712_ctrl_ops = …;
static int max96712_v4l2_register(struct max96712_priv *priv)
{ … }
static int max96712_parse_dt(struct max96712_priv *priv)
{ … }
static const struct regmap_config max96712_i2c_regmap = …;
static int max96712_probe(struct i2c_client *client)
{ … }
static void max96712_remove(struct i2c_client *client)
{ … }
static const struct of_device_id max96712_of_table[] = …;
MODULE_DEVICE_TABLE(of, max96712_of_table);
static struct i2c_driver max96712_i2c_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;