#include <linux/bits.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include "xrs700x.h"
#include "xrs700x_reg.h"
struct xrs700x_i2c_cmd { … } __packed;
static int xrs700x_i2c_reg_read(void *context, unsigned int reg,
unsigned int *val)
{ … }
static int xrs700x_i2c_reg_write(void *context, unsigned int reg,
unsigned int val)
{ … }
static const struct regmap_config xrs700x_i2c_regmap_config = …;
static int xrs700x_i2c_probe(struct i2c_client *i2c)
{ … }
static void xrs700x_i2c_remove(struct i2c_client *i2c)
{ … }
static void xrs700x_i2c_shutdown(struct i2c_client *i2c)
{ … }
static const struct i2c_device_id xrs700x_i2c_id[] = …;
MODULE_DEVICE_TABLE(i2c, xrs700x_i2c_id);
static const struct of_device_id __maybe_unused xrs700x_i2c_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, xrs700x_i2c_dt_ids);
static struct i2c_driver xrs700x_i2c_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;