#include <linux/delay.h>
#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/kernel.h>
#include <linux/mfd/core.h>
#include <linux/mfd/ti-lmu.h>
#include <linux/mfd/ti-lmu-register.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/slab.h>
struct ti_lmu_data { … };
static int ti_lmu_enable_hw(struct ti_lmu *lmu, enum ti_lmu_id id)
{ … }
static void ti_lmu_disable_hw(void *data)
{ … }
#define LM363X_REGULATOR(_id) … \
static const struct mfd_cell lm3631_devices[] = …;
static const struct mfd_cell lm3632_devices[] = …;
static const struct mfd_cell lm3633_devices[] = …;
static const struct mfd_cell lm3695_devices[] = …;
static const struct mfd_cell lm36274_devices[] = …;
#define TI_LMU_DATA(chip, max_reg) … \
TI_LMU_DATA(…);
TI_LMU_DATA(…);
TI_LMU_DATA(…);
TI_LMU_DATA(…);
TI_LMU_DATA(…);
static int ti_lmu_probe(struct i2c_client *cl)
{ … }
static const struct of_device_id ti_lmu_of_match[] = …;
MODULE_DEVICE_TABLE(of, ti_lmu_of_match);
static const struct i2c_device_id ti_lmu_ids[] = …;
MODULE_DEVICE_TABLE(i2c, ti_lmu_ids);
static struct i2c_driver ti_lmu_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;