#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_data/cros_ec_proto.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/of_regulator.h>
#include <linux/slab.h>
struct cros_ec_regulator_data { … };
static int cros_ec_regulator_enable(struct regulator_dev *dev)
{ … }
static int cros_ec_regulator_disable(struct regulator_dev *dev)
{ … }
static int cros_ec_regulator_is_enabled(struct regulator_dev *dev)
{ … }
static int cros_ec_regulator_list_voltage(struct regulator_dev *dev,
unsigned int selector)
{ … }
static int cros_ec_regulator_get_voltage(struct regulator_dev *dev)
{ … }
static int cros_ec_regulator_set_voltage(struct regulator_dev *dev, int min_uV,
int max_uV, unsigned int *selector)
{ … }
static const struct regulator_ops cros_ec_regulator_voltage_ops = …;
static int cros_ec_regulator_init_info(struct device *dev,
struct cros_ec_regulator_data *data)
{ … }
static int cros_ec_regulator_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id regulator_cros_ec_of_match[] = …;
MODULE_DEVICE_TABLE(of, regulator_cros_ec_of_match);
static struct platform_driver cros_ec_regulator_driver = …;
module_platform_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;