#include <linux/bitops.h>
#include <linux/i2c.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
enum { … };
#define RTQ2134_AUTO_MODE …
#define RTQ2134_FCCM_MODE …
#define RTQ2134_BUCK_DVS0_CTRL …
#define RTQ2134_BUCK_VSEL_CTRL …
#define RTQ2134_REG_IO_CHIPNAME …
#define RTQ2134_REG_FLT_RECORDTEMP …
#define RTQ2134_REG_FLT_RECORDBUCK(_id) …
#define RTQ2134_REG_FLT_BUCKCTRL(_id) …
#define RTQ2134_REG_BUCK1_CFG0 …
#define RTQ2134_REG_BUCK1_DVS0CFG1 …
#define RTQ2134_REG_BUCK1_DVS0CFG0 …
#define RTQ2134_REG_BUCK1_DVS1CFG1 …
#define RTQ2134_REG_BUCK1_DVS1CFG0 …
#define RTQ2134_REG_BUCK1_DVSCFG …
#define RTQ2134_REG_BUCK1_RSPCFG …
#define RTQ2134_REG_BUCK2_CFG0 …
#define RTQ2134_REG_BUCK2_DVS0CFG1 …
#define RTQ2134_REG_BUCK2_DVS0CFG0 …
#define RTQ2134_REG_BUCK2_DVS1CFG1 …
#define RTQ2134_REG_BUCK2_DVS1CFG0 …
#define RTQ2134_REG_BUCK2_DVSCFG …
#define RTQ2134_REG_BUCK2_RSPCFG …
#define RTQ2134_REG_BUCK3_CFG0 …
#define RTQ2134_REG_BUCK3_DVS0CFG1 …
#define RTQ2134_REG_BUCK3_DVS0CFG0 …
#define RTQ2134_REG_BUCK3_DVS1CFG1 …
#define RTQ2134_REG_BUCK3_DVS1CFG0 …
#define RTQ2134_REG_BUCK3_DVSCFG …
#define RTQ2134_REG_BUCK3_RSPCFG …
#define RTQ2134_REG_BUCK3_SLEWCTRL …
#define RTQ2134_VOUT_MAXNUM …
#define RTQ2134_VOUT_MASK …
#define RTQ2134_VOUTEN_MASK …
#define RTQ2134_ACTDISCHG_MASK …
#define RTQ2134_RSPUP_MASK …
#define RTQ2134_FCCM_MASK …
#define RTQ2134_UVHICCUP_MASK …
#define RTQ2134_BUCKDVS_CTRL_MASK …
#define RTQ2134_CHIPOT_MASK …
#define RTQ2134_BUCKOV_MASK …
#define RTQ2134_BUCKUV_MASK …
struct rtq2134_regulator_desc { … };
static int rtq2134_buck_set_mode(struct regulator_dev *rdev, unsigned int mode)
{ … }
static unsigned int rtq2134_buck_get_mode(struct regulator_dev *rdev)
{ … }
static int rtq2134_buck_set_suspend_voltage(struct regulator_dev *rdev, int uV)
{ … }
static int rtq2134_buck_set_suspend_enable(struct regulator_dev *rdev)
{ … }
static int rtq2134_buck_set_suspend_disable(struct regulator_dev *rdev)
{ … }
static int rtq2134_buck_set_suspend_mode(struct regulator_dev *rdev,
unsigned int mode)
{ … }
static int rtq2134_buck_get_error_flags(struct regulator_dev *rdev,
unsigned int *flags)
{ … }
static const struct regulator_ops rtq2134_buck_ops = …;
static const struct linear_range rtq2134_buck_vout_ranges[] = …;
static unsigned int rtq2134_buck_of_map_mode(unsigned int mode)
{ … }
static int rtq2134_buck_of_parse_cb(struct device_node *np,
const struct regulator_desc *desc,
struct regulator_config *cfg)
{ … }
static const unsigned int rtq2134_buck_ramp_delay_table[] = …;
#define RTQ2134_BUCK_DESC(_id) …
static const struct rtq2134_regulator_desc rtq2134_regulator_descs[] = …;
static bool rtq2134_is_accissible_reg(struct device *dev, unsigned int reg)
{ … }
static const struct regmap_config rtq2134_regmap_config = …;
static int rtq2134_probe(struct i2c_client *i2c)
{ … }
static const struct of_device_id __maybe_unused rtq2134_device_tables[] = …;
MODULE_DEVICE_TABLE(of, rtq2134_device_tables);
static struct i2c_driver rtq2134_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;