Subject: [PATCH v4 1/4] regulator: helper routine to extract regulator_init_data

From: [email-masked] (Mark Brown)
Date: Fri, 4 Nov 2011 21:46:50 +0000

On Fri, Nov 04, 2011 at 02:34:35PM -0700, Olof Johansson wrote:
> On Fri, Nov 4, 2011 at 2:29 PM, Mark Brown

> > I think it's useful to define how consumers are supposed to do this
> > somewhere - it is actually part of the core binding how consumers are
> > supposed to do this.

> Yeah, ok, but it shouldn't be part of the description of regulator
> properties per se. See how gpio does it, defining how a gpio-specifier
> is crafted. The equivalent should be done for regulators.

That seems to be pretty much exactly what's being done here, and like
the GPIO bindings it's specified in the core document.  Though perhaps
there's some aspect of how the document is written that's missing.

If you're talking about the specifics of the binding the GPIO bindings
do suffer from the whole magic indexes into arrays problem that makes a
lot of the older device tree bindings quite hard to read.

> > There's also a bit of magic here for chained supplies with one regulator
> > supplying another (eg, using a DCDC to drop the system supply down to a
> > lower voltage to supply a bunch of LDOs for improved efficiency).

> Describing that in the device tree using regulator-specifiers
> shouldn't be too bad? The LDO will reference the DCDC as the parent
> supply (or input or whatever language you prefer). They don't have to
> be in the same topology, they will instead be under whatever
> controller/bus they are on for control -- i2c, etc.

That's not great as it means you've got a separate binding for supplies
that happen to be connected to another regulator from that used for
other supplies on the device which is particularly confusing in the
fairly common case where a regulator chip has multiple supplies.  Using
the same method for binding all supplies seems much neater.