#include <linux/module.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/gpio/consumer.h>
#include <linux/mfd/lp8788.h>
#define LP8788_EN_LDO_A …
#define LP8788_EN_LDO_B …
#define LP8788_EN_LDO_C …
#define LP8788_EN_SEL …
#define LP8788_DLDO1_VOUT …
#define LP8788_DLDO2_VOUT …
#define LP8788_DLDO3_VOUT …
#define LP8788_DLDO4_VOUT …
#define LP8788_DLDO5_VOUT …
#define LP8788_DLDO6_VOUT …
#define LP8788_DLDO7_VOUT …
#define LP8788_DLDO8_VOUT …
#define LP8788_DLDO9_VOUT …
#define LP8788_DLDO10_VOUT …
#define LP8788_DLDO11_VOUT …
#define LP8788_DLDO12_VOUT …
#define LP8788_ALDO1_VOUT …
#define LP8788_ALDO2_VOUT …
#define LP8788_ALDO3_VOUT …
#define LP8788_ALDO4_VOUT …
#define LP8788_ALDO5_VOUT …
#define LP8788_ALDO6_VOUT …
#define LP8788_ALDO7_VOUT …
#define LP8788_ALDO8_VOUT …
#define LP8788_ALDO9_VOUT …
#define LP8788_ALDO10_VOUT …
#define LP8788_DLDO1_TIMESTEP …
#define LP8788_EN_DLDO1_M …
#define LP8788_EN_DLDO2_M …
#define LP8788_EN_DLDO3_M …
#define LP8788_EN_DLDO4_M …
#define LP8788_EN_DLDO5_M …
#define LP8788_EN_DLDO6_M …
#define LP8788_EN_DLDO7_M …
#define LP8788_EN_DLDO8_M …
#define LP8788_EN_DLDO9_M …
#define LP8788_EN_DLDO10_M …
#define LP8788_EN_DLDO11_M …
#define LP8788_EN_DLDO12_M …
#define LP8788_EN_ALDO1_M …
#define LP8788_EN_ALDO2_M …
#define LP8788_EN_ALDO3_M …
#define LP8788_EN_ALDO4_M …
#define LP8788_EN_ALDO5_M …
#define LP8788_EN_ALDO6_M …
#define LP8788_EN_ALDO7_M …
#define LP8788_EN_ALDO8_M …
#define LP8788_EN_ALDO9_M …
#define LP8788_EN_ALDO10_M …
#define LP8788_EN_SEL_DLDO911_M …
#define LP8788_EN_SEL_DLDO7_M …
#define LP8788_EN_SEL_ALDO7_M …
#define LP8788_EN_SEL_ALDO5_M …
#define LP8788_EN_SEL_ALDO234_M …
#define LP8788_EN_SEL_ALDO1_M …
#define LP8788_VOUT_5BIT_M …
#define LP8788_VOUT_4BIT_M …
#define LP8788_VOUT_3BIT_M …
#define LP8788_VOUT_1BIT_M …
#define LP8788_STARTUP_TIME_M …
#define LP8788_STARTUP_TIME_S …
#define ENABLE_TIME_USEC …
enum lp8788_ldo_id { … };
struct lp8788_ldo { … };
static const int lp8788_dldo1239_vtbl[] = …;
static const int lp8788_dldo4_vtbl[] = …;
static const int lp8788_dldo578_aldo6_vtbl[] = …;
static const int lp8788_dldo6_vtbl[] = …;
static const int lp8788_dldo1011_vtbl[] = …;
static const int lp8788_aldo1_vtbl[] = …;
static const int lp8788_aldo7_vtbl[] = …;
static int lp8788_ldo_enable_time(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops lp8788_ldo_voltage_table_ops = …;
static const struct regulator_ops lp8788_ldo_voltage_fixed_ops = …;
static const struct regulator_desc lp8788_dldo_desc[] = …;
static const struct regulator_desc lp8788_aldo_desc[] = …;
static int lp8788_config_ldo_enable_mode(struct platform_device *pdev,
struct lp8788_ldo *ldo,
enum lp8788_ldo_id id)
{ … }
static int lp8788_dldo_probe(struct platform_device *pdev)
{ … }
static struct platform_driver lp8788_dldo_driver = …;
static int lp8788_aldo_probe(struct platform_device *pdev)
{ … }
static struct platform_driver lp8788_aldo_driver = …;
static struct platform_driver * const drivers[] = …;
static int __init lp8788_ldo_init(void)
{ … }
subsys_initcall(lp8788_ldo_init);
static void __exit lp8788_ldo_exit(void)
{ … }
module_exit(lp8788_ldo_exit);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;
MODULE_ALIAS(…) …;