#include <linux/i2c.h>
#include <linux/mfd/rk808.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/regmap.h>
struct rk8xx_i2c_platform_data { … };
static bool rk808_is_volatile_reg(struct device *dev, unsigned int reg)
{ … }
static bool rk816_is_volatile_reg(struct device *dev, unsigned int reg)
{ … }
static bool rk817_is_volatile_reg(struct device *dev, unsigned int reg)
{ … }
static const struct regmap_config rk818_regmap_config = …;
static const struct regmap_config rk805_regmap_config = …;
static const struct regmap_config rk808_regmap_config = …;
static const struct regmap_config rk816_regmap_config = …;
static const struct regmap_config rk817_regmap_config = …;
static const struct rk8xx_i2c_platform_data rk805_data = …;
static const struct rk8xx_i2c_platform_data rk808_data = …;
static const struct rk8xx_i2c_platform_data rk809_data = …;
static const struct rk8xx_i2c_platform_data rk816_data = …;
static const struct rk8xx_i2c_platform_data rk817_data = …;
static const struct rk8xx_i2c_platform_data rk818_data = …;
static int rk8xx_i2c_probe(struct i2c_client *client)
{ … }
static void rk8xx_i2c_shutdown(struct i2c_client *client)
{ … }
static SIMPLE_DEV_PM_OPS(rk8xx_i2c_pm_ops, rk8xx_suspend, rk8xx_resume);
static const struct of_device_id rk8xx_i2c_of_match[] = …;
MODULE_DEVICE_TABLE(of, rk8xx_i2c_of_match);
static struct i2c_driver rk8xx_i2c_driver = …;
module_i2c_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;