Re: regulator: adding constraints to regulator_desc?

From: Wolfram Sang
Date: Mon Sep 14 2009 - 08:15:22 EST



> The checks at the regulator level should be checking more than can be
> specified in the constraints - they should also be checking that the
> regulator can actually deliver the requested voltage. It is possible
> that a request could be within the constraints but in between two steps
> that the regulator can deliver and therefore not supportable. Drivers
> that don't do the additional checks should really be doing them.

I thought about the core just doing the basic checks (inbetween min and max),
so the regulator-drivers could still add more checks if needed. Though...

> These checks could be factored out if we change the API for setting
> voltage to work in terms of voltage selectors and force the
> implementation of list_voltage() but it's never seemed worth the hassle

...if that works out and more checks could be done by the core, this would be
great, I think.

> > One thing which also raised my attention was the beginning of
> > regulator_check_voltage(). It starts with
>
> > BUG_ON(*min_uV > *max_uV);
>
> > Is it really necessary to halt the kernel? Wouldn't a big warning and -EINVAL
> > do like at the end of the function?
>
> That should also be OK, yes. The risk is that once you start loosing
> the plot on regulator stuff the system will often die anyway due to
> power problems but WARN_ON and an error would cover the diagnostics just
> as well.

Okay. Will try to prepare a patch this evening.

Regards,

Wolfram

--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |

Attachment: signature.asc
Description: Digital signature