[U-Boot] [PATCH 3/3] power: regulator: Add limits checking while setting current

Keerthy j-keerthy at ti.com
Thu Oct 27 05:20:20 CEST 2016



On Wednesday 26 October 2016 10:01 PM, Simon Glass wrote:
> 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?
Simon,

Agree that not all drivers set this. But when someone calls set_current 
with some value there needs to be some boundary conditions for this 
right? Hence i made this patch.

- Keerthy

>
>>
>>         if (!ops || !ops->set_current)
>>                 return -ENOSYS;
>> --
>> 1.9.1
>>
>
> Regards,
> Simon
>


More information about the U-Boot mailing list