#include <linux/module.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/of_regulator.h>
#include <linux/of.h>
#include <linux/pwm.h>
#include <linux/gpio/consumer.h>
struct pwm_continuous_reg_data { … };
struct pwm_regulator_data { … };
struct pwm_voltages { … };
static void pwm_regulator_init_state(struct regulator_dev *rdev)
{ … }
static int pwm_regulator_get_voltage_sel(struct regulator_dev *rdev)
{ … }
static int pwm_regulator_set_voltage_sel(struct regulator_dev *rdev,
unsigned selector)
{ … }
static int pwm_regulator_list_voltage(struct regulator_dev *rdev,
unsigned selector)
{ … }
static int pwm_regulator_enable(struct regulator_dev *dev)
{ … }
static int pwm_regulator_disable(struct regulator_dev *dev)
{ … }
static int pwm_regulator_is_enabled(struct regulator_dev *dev)
{ … }
static int pwm_regulator_get_voltage(struct regulator_dev *rdev)
{ … }
static int pwm_regulator_set_voltage(struct regulator_dev *rdev,
int req_min_uV, int req_max_uV,
unsigned int *selector)
{ … }
static const struct regulator_ops pwm_regulator_voltage_table_ops = …;
static const struct regulator_ops pwm_regulator_voltage_continuous_ops = …;
static const struct regulator_desc pwm_regulator_desc = …;
static int pwm_regulator_init_table(struct platform_device *pdev,
struct pwm_regulator_data *drvdata)
{ … }
static int pwm_regulator_init_continuous(struct platform_device *pdev,
struct pwm_regulator_data *drvdata)
{ … }
static int pwm_regulator_init_boot_on(struct platform_device *pdev,
struct pwm_regulator_data *drvdata,
const struct regulator_init_data *init_data)
{ … }
static int pwm_regulator_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id __maybe_unused pwm_of_match[] = …;
MODULE_DEVICE_TABLE(of, pwm_of_match);
static struct platform_driver pwm_regulator_driver = …;
module_platform_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;