#include <linux/module.h>
#include <linux/init.h>
#include <linux/i2c.h>
#include <linux/regmap.h>
#include <linux/gpio.h>
#include <linux/spinlock.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/mfd/core.h>
#include <linux/mfd/tps6105x.h>
static struct regmap_config tps6105x_regmap_config = …;
static int tps6105x_startup(struct tps6105x *tps6105x)
{ … }
static struct mfd_cell tps6105x_gpio_cell = …;
static struct mfd_cell tps6105x_leds_cell = …;
static struct mfd_cell tps6105x_flash_cell = …;
static struct mfd_cell tps6105x_regulator_cell = …;
static int tps6105x_add_device(struct tps6105x *tps6105x,
struct mfd_cell *cell)
{ … }
static struct tps6105x_platform_data *tps6105x_parse_dt(struct device *dev)
{ … }
static int tps6105x_probe(struct i2c_client *client)
{ … }
static void tps6105x_remove(struct i2c_client *client)
{ … }
static const struct i2c_device_id tps6105x_id[] = …;
MODULE_DEVICE_TABLE(i2c, tps6105x_id);
static const struct of_device_id tps6105x_of_match[] = …;
MODULE_DEVICE_TABLE(of, tps6105x_of_match);
static struct i2c_driver tps6105x_driver = …;
static int __init tps6105x_init(void)
{ … }
subsys_initcall(tps6105x_init);
static void __exit tps6105x_exit(void)
{ … }
module_exit(tps6105x_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;