#include <linux/err.h>
#include <linux/init.h>
#include <linux/mfd/as3711.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/of_regulator.h>
#include <linux/slab.h>
static int as3711_set_mode_sd(struct regulator_dev *rdev, unsigned int mode)
{ … }
static unsigned int as3711_get_mode_sd(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops as3711_sd_ops = …;
static const struct regulator_ops as3711_aldo_ops = …;
static const struct regulator_ops as3711_dldo_ops = …;
static const struct linear_range as3711_sd_ranges[] = …;
static const struct linear_range as3711_aldo_ranges[] = …;
static const struct linear_range as3711_dldo_ranges[] = …;
#define AS3711_REG(_id, _en_reg, _en_bit, _vmask, _sfx) …
static const struct regulator_desc as3711_reg_desc[] = …;
#define AS3711_REGULATOR_NUM …
static struct of_regulator_match
as3711_regulator_matches[AS3711_REGULATOR_NUM] = …;
static int as3711_regulator_parse_dt(struct device *dev,
struct device_node **of_node, const int count)
{ … }
static int as3711_regulator_probe(struct platform_device *pdev)
{ … }
static struct platform_driver as3711_regulator_driver = …;
static int __init as3711_regulator_init(void)
{ … }
subsys_initcall(as3711_regulator_init);
static void __exit as3711_regulator_exit(void)
{ … }
module_exit(as3711_regulator_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;
MODULE_LICENSE(…) …;