Messages in this thread | | | From | David Brownell <> | Subject | Re: [patch 2.6.29-rc7 regulator-next] regulator: refcount fixes | Date | Thu, 12 Mar 2009 12:35:24 -0800 |
| |
On Thursday 12 March 2009, Mark Brown wrote: > On Wed, Mar 11, 2009 at 04:43:34PM -0800, David Brownell wrote: > > > Buggy consumers could notice different bug symptoms. The main > > example would be refcounting bugs; also, any (out-of-tree) users > > of the experimental regulator_set_optimum_mode() stuff which > > don't call it when they're done using a regulator. > > I'm OK with this from a code point of view so > > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> > > However any consumers that take advantage of this won't be able to > safely share a regulator without extra work since they have no way of > telling why a regulator is in the state that it's in without extra > stuff.
Depends what you mean by "safely". If they weren't buggy already, I don't see how they'd notice any difference. Having buggy consumers become non-buggy isn't exactly a job for the framework itself.
> We should probably have something along the lines of a > regulator_get_exclusive() for them. Previously the consumer counting > would have stopped them interfering with enables done by other > consumers.
I'd like to see get()/put() match the design pattern used elsewhere in the kernel: those calls signify refcount operations.
Agreed that the "consumer" access model probably needs a few interface updates. I'm not sure what they would be though; one notion would be to focus on the constraints they apply (including "enabled") instead of what they do now.
> There will be other consumers that can't safely share a regulator anyway > (eg, requiring additional code to notice and handle voltage changes) so > it'd be a good thing to have.
| |