[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