lkml.org 
[lkml]   [2014]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] regulator: Ensure voltages are within the allowed range
On Wed, Nov 12, 2014 at 11:45:05AM +0000, Mark Brown wrote:
> On Wed, Nov 12, 2014 at 11:12:05AM +0100, Thierry Reding wrote:
> > From: Thierry Reding <treding@nvidia.com>
> >
> > Unless a regulator has a fixed output voltage the core will not attempt
> > to modify the output voltage. This can cause a situation where a driver
> > enables the regulator but the currently configured voltage is outside
> > the valid range.
> >
> > Fix this by constraining the current voltage to the allowed range upon
> > regulator registration.
>
> I've thought about doing this before but it's tricky as if there is a
> voltage range it's possible something needs it at the high rather than
> low end of the range and will get upset if the voltage gets lowered.
> Setting the top voltage also has risks (though less bad when constraints
> are sane) and requires working out what that is which we'd need to write
> the machinery to do.
>
> This is all especially likely to break given the depressing desire
> everyone seems to have to put the maximum possible voltage range for
> their regulators in constraints regardless of what's actually sensible
> for their board design.

Perhaps rather than checking that the voltage is within the valid range
we could at least cover the case where voltage is zero, which is what
triggered me to write this patch.

As it is, regulators with a valid voltage range but for which a voltage
isn't explicitly set will remain off if their default voltage is 0.

Do you have any recommendations to work around this other than adjusting
the actual voltage to be within the range?

Thierry
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2014-11-12 13:41    [W:0.041 / U:30.612 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site