Re: [PATCH v3 06/12] power: pwrseq: simple: Add support for regulator and generic property

From: Rob Herring
Date: Wed Jun 08 2016 - 15:03:40 EST


On Tue, Jun 07, 2016 at 11:29:02AM +0200, Krzysztof Kozlowski wrote:
> On 06/03/2016 04:02 AM, Rob Herring wrote:
> >> Optional properties:
> >> - reset-gpios : contains a list of GPIO specifiers. The reset GPIOs are asserted
> >> @@ -16,6 +22,7 @@ Optional properties:
> >> See ../clocks/clock-bindings.txt for details.
> >> - clock-names : Must include the following entry:
> >> "ext_clock" (External clock provided to the card).
> >> +- ext-supply : External regulator supply
> >
> > What happens when there are 2 supplies?
> >
> > I'd prefer the name not be genericish and use the real supply names.
> > Then the power seq code should just turn on all supplies it finds. If
> > the order or timing to turn on matters, then sorry, no generic sequence.
>
> I think the generic part for regulators might be a problem. Regulator
> API requires a name for the supply... it cannot get "something" or
> "everything".

That's the downside of variable property names...

> The driver could attach itself to any kind of node (where power-sequence
> property exists) so the supply name depends on the bindings of device
> (not bindings of power sequence driver).
>
> The power sequence driver could however iterate over child properties
> and get the names of all supplies. It is a little bit ugly...

Yes. Like this, right?

for_each_property_of_node(np, pp) {
if (!strstr(pp->name, "-supply"))
continue;
// found supply
}

The uglyness can always be improved with a function to do this parsing.

Rob