lp3971
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
val = lp3971_reg_read(lp3971, LP3971_LDO_ENABLE_REG);
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
return lp3971_set_bits(lp3971, LP3971_LDO_ENABLE_REG, mask, mask);
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
return lp3971_set_bits(lp3971, LP3971_LDO_ENABLE_REG, mask, 0);
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
reg = lp3971_reg_read(lp3971, LP3971_LDO_VOL_CONTR_REG(ldo));
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
return lp3971_set_bits(lp3971, LP3971_LDO_VOL_CONTR_REG(ldo),
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
val = lp3971_reg_read(lp3971, LP3971_BUCK_VOL_ENABLE_REG);
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
return lp3971_set_bits(lp3971, LP3971_BUCK_VOL_ENABLE_REG, mask, mask);
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
return lp3971_set_bits(lp3971, LP3971_BUCK_VOL_ENABLE_REG, mask, 0);
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
reg = lp3971_reg_read(lp3971, LP3971_BUCK_TARGET_VOL1_REG(buck));
struct lp3971 *lp3971 = rdev_get_drvdata(dev);
ret = lp3971_set_bits(lp3971, LP3971_BUCK_TARGET_VOL1_REG(buck),
ret = lp3971_set_bits(lp3971, LP3971_BUCK_VOL_CHANGE_REG,
return lp3971_set_bits(lp3971, LP3971_BUCK_VOL_CHANGE_REG,
static u8 lp3971_reg_read(struct lp3971 *lp3971, u8 reg);
static int lp3971_set_bits(struct lp3971 *lp3971, u8 reg, u16 mask, u16 val);
static u8 lp3971_reg_read(struct lp3971 *lp3971, u8 reg)
mutex_lock(&lp3971->io_lock);
lp3971_i2c_read(lp3971->i2c, reg, 1, &val);
dev_dbg(lp3971->dev, "reg read 0x%02x -> 0x%02x\n", (int)reg,
mutex_unlock(&lp3971->io_lock);
static int lp3971_set_bits(struct lp3971 *lp3971, u8 reg, u16 mask, u16 val)
mutex_lock(&lp3971->io_lock);
ret = lp3971_i2c_read(lp3971->i2c, reg, 1, &tmp);
ret = lp3971_i2c_write(lp3971->i2c, reg, 1, &tmp);
dev_dbg(lp3971->dev, "reg write 0x%02x -> 0x%02x\n", (int)reg,
mutex_unlock(&lp3971->io_lock);
static int setup_regulators(struct lp3971 *lp3971,
config.dev = lp3971->dev;
config.driver_data = lp3971;
rdev = devm_regulator_register(lp3971->dev,
dev_err(lp3971->dev, "regulator init failed: %d\n",
struct lp3971 *lp3971;
lp3971 = devm_kzalloc(&i2c->dev, sizeof(struct lp3971), GFP_KERNEL);
if (lp3971 == NULL)
lp3971->i2c = i2c;
lp3971->dev = &i2c->dev;
mutex_init(&lp3971->io_lock);
ret = setup_regulators(lp3971, pdata);
i2c_set_clientdata(i2c, lp3971);