#include <linux/bug.h>
#include <linux/err.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/s2mpa01.h>
struct s2mpa01_info { … };
static int get_ramp_delay(int ramp_delay)
{ … }
static int s2mpa01_regulator_set_voltage_time_sel(struct regulator_dev *rdev,
unsigned int old_selector,
unsigned int new_selector)
{ … }
static int s2mpa01_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay)
{ … }
static const struct regulator_ops s2mpa01_ldo_ops = …;
static const struct regulator_ops s2mpa01_buck_ops = …;
#define regulator_desc_ldo(num, step) …
#define regulator_desc_buck1_4(num) …
#define regulator_desc_buck5 …
#define regulator_desc_buck6_10(num, min, step) …
static const struct regulator_desc regulators[] = …;
static int s2mpa01_pmic_probe(struct platform_device *pdev)
{ … }
static const struct platform_device_id s2mpa01_pmic_id[] = …;
MODULE_DEVICE_TABLE(platform, s2mpa01_pmic_id);
static struct platform_driver s2mpa01_pmic_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;