lkml.org 
[lkml]   [2012]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRE: [PATCH v2] regulator: ad5398: Fix min/max current limit boundary checking


>-----Original Message-----
>From: Axel Lin [mailto:axel.lin@gmail.com]
>Sent: Tuesday, July 03, 2012 7:36 PM
>To: Zhang, Sonic
>Cc: Lars-Peter Clausen; Mark Brown; linux-kernel@vger.kernel.org; Liam
>Girdwood
>Subject: RE: [PATCH v2] regulator: ad5398: Fix min/max current limit boundary
>checking
>
>
>> >The equation to calculate the selector does not depend on max_uA.
>> >So I think we don't need to set the requested max_uA.
>> >
>>
>> But, ad5398_set_current_limit() behaves different for min_uA and max_uA with
>you patch. Is this expected?
>>
>
>What we want is to set the smallest current supported by this hardware
>within the range you requested.
>
>Current code uses below equation to choose selector:
>selector = DIV_ROUND_UP((min_uA - chip->min_uA) * chip->current_level,
> range_uA);
>
>With this equation, we need to ensure min_uA >= chip->min_uA,
>otherwise it returns a negative selector.
>
>That is why we need to add:
>if (min_uA < chip->min_uA)
> min_uA = chip->min_uA;
>

Yes, but if you apply this logic to min_uA, you should apply the same logic to max_uA, even though it is not used in your application.


Sonic

>
>Axel
>

\
 
 \ /
  Last update: 2012-07-04 05:21    [W:0.069 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site