[U-Boot] [PATCH 3/3] power: regulator: Add limits checking while setting current
Simon Glass
sjg at chromium.org
Wed Oct 26 18:31:47 CEST 2016
Hi Keerthy,
On 26 October 2016 at 01:12, Keerthy <j-keerthy at ti.com> wrote:
> Currently the specific set ops functions are directly
> called without any check for min/max current limits for a regulator.
> Check for them and proceed.
>
> Signed-off-by: Keerthy <j-keerthy at ti.com>
> ---
> drivers/power/regulator/regulator-uclass.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c
> index 34087c8..4c4bd29 100644
> --- a/drivers/power/regulator/regulator-uclass.c
> +++ b/drivers/power/regulator/regulator-uclass.c
> @@ -80,6 +80,11 @@ int regulator_get_current(struct udevice *dev)
> int regulator_set_current(struct udevice *dev, int uA)
> {
> const struct dm_regulator_ops *ops = dev_get_driver_ops(dev);
> + struct dm_regulator_uclass_platdata *uc_pdata;
> +
> + uc_pdata = dev_get_uclass_platdata(dev);
> + if (uA < uc_pdata->min_uA || uA > uc_pdata->max_uA)
> + return -EINVAL;
Do all drivers have these values set?
>
> if (!ops || !ops->set_current)
> return -ENOSYS;
> --
> 1.9.1
>
Regards,
Simon
More information about the U-Boot
mailing list