#include <linux/bug.h>
#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/regmap.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/of_regulator.h>
#include <linux/mfd/samsung/core.h>
#include <linux/mfd/samsung/s2mps11.h>
#include <linux/mfd/samsung/s2mps13.h>
#include <linux/mfd/samsung/s2mps14.h>
#include <linux/mfd/samsung/s2mps15.h>
#include <linux/mfd/samsung/s2mpu02.h>
#define S2MPS_REGULATOR_MAX …
struct s2mps11_info { … };
static int get_ramp_delay(int ramp_delay)
{ … }
static int s2mps11_regulator_set_voltage_time_sel(struct regulator_dev *rdev,
unsigned int old_selector,
unsigned int new_selector)
{ … }
static int s2mps11_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay)
{ … }
static int s2mps11_regulator_enable(struct regulator_dev *rdev)
{ … }
static int s2mps11_regulator_set_suspend_disable(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops s2mps11_ldo_ops = …;
static const struct regulator_ops s2mps11_buck_ops = …;
#define regulator_desc_s2mps11_ldo(num, step) …
#define regulator_desc_s2mps11_buck1_4(num) …
#define regulator_desc_s2mps11_buck5 …
#define regulator_desc_s2mps11_buck67810(num, min, step, min_sel, voltages) …
#define regulator_desc_s2mps11_buck9 …
static const struct regulator_desc s2mps11_regulators[] = …;
static const struct regulator_ops s2mps14_reg_ops;
#define regulator_desc_s2mps13_ldo(num, min, step, min_sel) …
#define regulator_desc_s2mps13_buck(num, min, step, min_sel) …
#define regulator_desc_s2mps13_buck7(num, min, step, min_sel) …
#define regulator_desc_s2mps13_buck8_10(num, min, step, min_sel) …
static const struct regulator_desc s2mps13_regulators[] = …;
static const struct regulator_ops s2mps14_reg_ops = …;
#define regulator_desc_s2mps14_ldo(num, min, step) …
#define regulator_desc_s2mps14_buck(num, min, step, min_sel) …
static const struct regulator_desc s2mps14_regulators[] = …;
static const struct regulator_ops s2mps15_reg_ldo_ops = …;
static const struct regulator_ops s2mps15_reg_buck_ops = …;
#define regulator_desc_s2mps15_ldo(num, range) …
#define regulator_desc_s2mps15_buck(num, range) …
static const struct linear_range s2mps15_ldo_voltage_ranges1[] = …;
static const struct linear_range s2mps15_ldo_voltage_ranges2[] = …;
static const struct linear_range s2mps15_ldo_voltage_ranges3[] = …;
static const struct linear_range s2mps15_ldo_voltage_ranges4[] = …;
static const struct linear_range s2mps15_ldo_voltage_ranges5[] = …;
static const struct linear_range s2mps15_buck_voltage_ranges1[] = …;
static const struct linear_range s2mps15_buck_voltage_ranges2[] = …;
static const struct regulator_desc s2mps15_regulators[] = …;
static int s2mps14_pmic_enable_ext_control(struct s2mps11_info *s2mps11,
struct regulator_dev *rdev)
{ … }
static void s2mps14_pmic_dt_parse_ext_control_gpio(struct platform_device *pdev,
struct of_regulator_match *rdata, struct s2mps11_info *s2mps11)
{ … }
static int s2mps11_pmic_dt_parse(struct platform_device *pdev,
struct of_regulator_match *rdata, struct s2mps11_info *s2mps11,
unsigned int rdev_num)
{ … }
static int s2mpu02_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay)
{ … }
static const struct regulator_ops s2mpu02_ldo_ops = …;
static const struct regulator_ops s2mpu02_buck_ops = …;
#define regulator_desc_s2mpu02_ldo1(num) …
#define regulator_desc_s2mpu02_ldo2(num) …
#define regulator_desc_s2mpu02_ldo3(num) …
#define regulator_desc_s2mpu02_ldo4(num) …
#define regulator_desc_s2mpu02_ldo5(num) …
#define regulator_desc_s2mpu02_buck1234(num) …
#define regulator_desc_s2mpu02_buck5(num) …
#define regulator_desc_s2mpu02_buck6(num) …
#define regulator_desc_s2mpu02_buck7(num) …
static const struct regulator_desc s2mpu02_regulators[] = …;
static int s2mps11_pmic_probe(struct platform_device *pdev)
{ … }
static const struct platform_device_id s2mps11_pmic_id[] = …;
MODULE_DEVICE_TABLE(platform, s2mps11_pmic_id);
static struct platform_driver s2mps11_pmic_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;