#include <linux/kernel.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/init.h>
#include <linux/i2c.h>
#include <linux/slab.h>
#include <linux/regmap.h>
#include <linux/err.h>
#include <linux/of.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/mutex.h>
#include <linux/mfd/core.h>
#include <linux/mfd/tps65218.h>
#define TPS65218_PASSWORD_REGS_UNLOCK …
static const struct mfd_cell tps65218_cells[] = …;
int tps65218_reg_write(struct tps65218 *tps, unsigned int reg,
unsigned int val, unsigned int level)
{ … }
EXPORT_SYMBOL_GPL(…);
static int tps65218_update_bits(struct tps65218 *tps, unsigned int reg,
unsigned int mask, unsigned int val, unsigned int level)
{ … }
int tps65218_set_bits(struct tps65218 *tps, unsigned int reg,
unsigned int mask, unsigned int val, unsigned int level)
{ … }
EXPORT_SYMBOL_GPL(…);
int tps65218_clear_bits(struct tps65218 *tps, unsigned int reg,
unsigned int mask, unsigned int level)
{ … }
EXPORT_SYMBOL_GPL(…);
static const struct regmap_range tps65218_yes_ranges[] = …;
static const struct regmap_access_table tps65218_volatile_table = …;
static const struct regmap_config tps65218_regmap_config = …;
static const struct regmap_irq tps65218_irqs[] = …;
static struct regmap_irq_chip tps65218_irq_chip = …;
static const struct of_device_id of_tps65218_match_table[] = …;
MODULE_DEVICE_TABLE(of, of_tps65218_match_table);
static int tps65218_voltage_set_strict(struct tps65218 *tps)
{ … }
static int tps65218_voltage_set_uv_hyst(struct tps65218 *tps)
{ … }
static int tps65218_voltage_set_uvlo(struct tps65218 *tps)
{ … }
static int tps65218_probe(struct i2c_client *client)
{ … }
static const struct i2c_device_id tps65218_id_table[] = …;
MODULE_DEVICE_TABLE(i2c, tps65218_id_table);
static struct i2c_driver tps65218_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;