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;
|
||||
}
|
||||
|
||||
ret = regulator_set_value(dev, value);
|
||||
if (!force)
|
||||
ret = regulator_set_value(dev, value);
|
||||
else
|
||||
ret = regulator_set_value_force(dev, value);
|
||||
if (ret) {
|
||||
printf("Regulator: %s - can't set the Voltage!\n",
|
||||
uc_pdata->name);
|
||||
|
|
|
@ -48,6 +48,20 @@ int regulator_set_value(struct udevice *dev, int 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)
|
||||
{
|
||||
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);
|
||||
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue