power: regulator: Introduce regulator_set_value_force function
In case we want to force a particular value on a regulator irrespective of the min/max constraints for testing purposes one can call regulator_set_value_force function. Signed-off-by: Keerthy <j-keerthy@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
543bd27353
commit
2f5d532f3b
|
@ -292,7 +292,10 @@ static int do_value(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
return CMD_RET_FAILURE;
|
return CMD_RET_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = regulator_set_value(dev, value);
|
if (!force)
|
||||||
|
ret = regulator_set_value(dev, value);
|
||||||
|
else
|
||||||
|
ret = regulator_set_value_force(dev, value);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printf("Regulator: %s - can't set the Voltage!\n",
|
printf("Regulator: %s - can't set the Voltage!\n",
|
||||||
uc_pdata->name);
|
uc_pdata->name);
|
||||||
|
|
|
@ -48,6 +48,20 @@ int regulator_set_value(struct udevice *dev, int uV)
|
||||||
return ops->set_value(dev, uV);
|
return ops->set_value(dev, uV);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To be called with at most caution as there is no check
|
||||||
|
* before setting the actual voltage value.
|
||||||
|
*/
|
||||||
|
int regulator_set_value_force(struct udevice *dev, int uV)
|
||||||
|
{
|
||||||
|
const struct dm_regulator_ops *ops = dev_get_driver_ops(dev);
|
||||||
|
|
||||||
|
if (!ops || !ops->set_value)
|
||||||
|
return -ENOSYS;
|
||||||
|
|
||||||
|
return ops->set_value(dev, uV);
|
||||||
|
}
|
||||||
|
|
||||||
int regulator_get_current(struct udevice *dev)
|
int regulator_get_current(struct udevice *dev)
|
||||||
{
|
{
|
||||||
const struct dm_regulator_ops *ops = dev_get_driver_ops(dev);
|
const struct dm_regulator_ops *ops = dev_get_driver_ops(dev);
|
||||||
|
|
|
@ -260,6 +260,16 @@ int regulator_get_value(struct udevice *dev);
|
||||||
*/
|
*/
|
||||||
int regulator_set_value(struct udevice *dev, int uV);
|
int regulator_set_value(struct udevice *dev, int uV);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* regulator_set_value_force: set the microvoltage value of a given regulator
|
||||||
|
* without any min-,max condition check
|
||||||
|
*
|
||||||
|
* @dev - pointer to the regulator device
|
||||||
|
* @uV - the output value to set [micro Volts]
|
||||||
|
* @return - 0 on success or -errno val if fails
|
||||||
|
*/
|
||||||
|
int regulator_set_value_force(struct udevice *dev, int uV);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* regulator_get_current: get microampere value of a given regulator
|
* regulator_get_current: get microampere value of a given regulator
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue