#include <linux/mfd/rohm-generic.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/mfd/bd9571mwv.h>
struct bd9571mwv_reg { … };
enum bd9571mwv_regulators { … };
#define BD9571MWV_REG(_name, _of, _id, _ops, _vr, _vm, _nv, _min, _step, _lmin) …
static int bd9571mwv_avs_get_moni_state(struct regulator_dev *rdev)
{ … }
static int bd9571mwv_avs_set_voltage_sel_regmap(struct regulator_dev *rdev,
unsigned int sel)
{ … }
static int bd9571mwv_avs_get_voltage_sel_regmap(struct regulator_dev *rdev)
{ … }
static int bd9571mwv_reg_set_voltage_sel_regmap(struct regulator_dev *rdev,
unsigned int sel)
{ … }
static const struct regulator_ops avs_ops = …;
static const struct regulator_ops reg_ops = …;
static const struct regulator_ops vid_ops = …;
static const struct regulator_desc regulators[] = …;
#ifdef CONFIG_PM_SLEEP
static int bd9571mwv_bkup_mode_read(struct bd9571mwv_reg *bdreg,
unsigned int *mode)
{ … }
static int bd9571mwv_bkup_mode_write(struct bd9571mwv_reg *bdreg,
unsigned int mode)
{ … }
static ssize_t backup_mode_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static ssize_t backup_mode_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_RW(backup_mode);
static int bd9571mwv_suspend(struct device *dev)
{ … }
static int bd9571mwv_resume(struct device *dev)
{ … }
static const struct dev_pm_ops bd9571mwv_pm = …;
static void bd9571mwv_regulator_remove(struct platform_device *pdev)
{ … }
#define DEV_PM_OPS …
#else
#define DEV_PM_OPS …
#define bd9571mwv_regulator_remove …
#endif
static int bd9571mwv_regulator_probe(struct platform_device *pdev)
{ … }
static const struct platform_device_id bd9571mwv_regulator_id_table[] = …;
MODULE_DEVICE_TABLE(platform, bd9571mwv_regulator_id_table);
static struct platform_driver bd9571mwv_regulator_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;