linux/drivers/regulator/bd9571mwv-regulator.c

// SPDX-License-Identifier: GPL-2.0
/*
 * ROHM BD9571MWV-M and BD9574MWF-M regulator driver
 *
 * Copyright (C) 2017 Marek Vasut <[email protected]>
 *
 * Based on the TPS65086 driver
 *
 * NOTE: VD09 is missing
 */

#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)
{}

/* Operations permitted on AVS voltage regulator */
static const struct regulator_ops avs_ops =;

/* Operations permitted on voltage regulators */
static const struct regulator_ops reg_ops =;

/* Operations permitted on voltage monitors */
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 /* CONFIG_PM_SLEEP */

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();