forked from Minki/linux
regulator: Convert twl4030ldo_set_voltage to set_voltage_sel
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
4eb0645364
commit
dd16b1f8e7
@ -473,31 +473,12 @@ static int twl4030ldo_list_voltage(struct regulator_dev *rdev, unsigned index)
|
||||
}
|
||||
|
||||
static int
|
||||
twl4030ldo_set_voltage(struct regulator_dev *rdev, int min_uV, int max_uV,
|
||||
unsigned *selector)
|
||||
twl4030ldo_set_voltage_sel(struct regulator_dev *rdev, unsigned selector)
|
||||
{
|
||||
struct twlreg_info *info = rdev_get_drvdata(rdev);
|
||||
int vsel;
|
||||
|
||||
for (vsel = 0; vsel < info->table_len; vsel++) {
|
||||
int mV = info->table[vsel];
|
||||
int uV;
|
||||
|
||||
if (IS_UNSUP(mV))
|
||||
continue;
|
||||
uV = LDO_MV(mV) * 1000;
|
||||
|
||||
/* REVISIT for VAUX2, first match may not be best/lowest */
|
||||
|
||||
/* use the first in-range value */
|
||||
if (min_uV <= uV && uV <= max_uV) {
|
||||
*selector = vsel;
|
||||
return twlreg_write(info, TWL_MODULE_PM_RECEIVER,
|
||||
VREG_VOLTAGE, vsel);
|
||||
}
|
||||
}
|
||||
|
||||
return -EDOM;
|
||||
return twlreg_write(info, TWL_MODULE_PM_RECEIVER, VREG_VOLTAGE,
|
||||
selector);
|
||||
}
|
||||
|
||||
static int twl4030ldo_get_voltage(struct regulator_dev *rdev)
|
||||
@ -516,7 +497,7 @@ static int twl4030ldo_get_voltage(struct regulator_dev *rdev)
|
||||
static struct regulator_ops twl4030ldo_ops = {
|
||||
.list_voltage = twl4030ldo_list_voltage,
|
||||
|
||||
.set_voltage = twl4030ldo_set_voltage,
|
||||
.set_voltage_sel = twl4030ldo_set_voltage_sel,
|
||||
.get_voltage = twl4030ldo_get_voltage,
|
||||
|
||||
.enable = twl4030reg_enable,
|
||||
|
Loading…
Reference in New Issue
Block a user