[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