[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170614015338.GA4635@b29397-desktop>
Date: Wed, 14 Jun 2017 09:53:39 +0800
From: Peter Chen <hzpeterchen@...il.com>
To: Ulf Hansson <ulf.hansson@...aro.org>
CC: Peter Chen <peter.chen@....com>,
Mark Rutland <mark.rutland@....com>,
Heiko Stuebner <heiko@...ech.de>,
Stephen Boyd <stephen.boyd@...aro.org>, <frank.li@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Gary Bisson <gary.bisson@...ndarydevices.com>,
Fabio Estevam <festevam@...il.com>,
Joshua Clayton <stillcompiling@...il.com>,
Arnd Bergmann <arnd@...db.de>,
Dmitry Eremin-Solenikov <dbaryshkov@...il.com>,
Vaibhav Hiremath <vaibhav.hiremath@...aro.org>,
Krzysztof Kozlowski <krzk@...nel.org>, <mka@...omium.org>,
Alan Stern <stern@...land.harvard.edu>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"Maciej S. Szmigiero" <mail@...iej.szmigiero.name>,
Pawel Moll <pawel.moll@....com>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
<troy.kisky@...ndarydevices.com>, Rob Herring <robh+dt@...nel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, <hverkuil@...all.nl>,
<oscar@...andei.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Linux USB List <linux-usb@...r.kernel.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Sebastian Reichel <sre@...nel.org>,
Mark Brown <broonie@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Shawn Guo <shawnguo@...nel.org>, <jun.li@....com>
Subject: Re: [PATCH v15 2/7] power: add power sequence library
On Tue, Jun 13, 2017 at 12:24:42PM +0200, Ulf Hansson wrote:
> [...]
>
> > +
> > +/**
> > + * of_pwrseq_on - Carry out power sequence on for device node
> > + *
> > + * @np: the device node would like to power on
> > + *
> > + * Carry out a single device power on. If multiple devices
> > + * need to be handled, use of_pwrseq_on_list() instead.
> > + *
> > + * Return a pointer to the power sequence instance on success,
> > + * or an error code otherwise.
> > + */
> > +struct pwrseq *of_pwrseq_on(struct device_node *np)
> > +{
> > + struct pwrseq *pwrseq;
> > + int ret;
> > +
> > + pwrseq = pwrseq_find_available_instance(np);
> > + if (!pwrseq)
> > + return ERR_PTR(-ENOENT);
>
> In case the pwrseq instance hasn't been registered yet, then there is
> no way to deal with -EPROBE_DEFER properly here.
>
> I haven't been following the discussions in-depth during all
> iterations, so perhaps you have already discussed why doing it like
> this.
Yes, it has been discussed. In order to compare with compatible string
at dts, we need to have one registered pwrseq instance for each
pwrseq library, this pre-registered one is allocated using
postcore_initcall, and the new (eg, second) instance is registered
after pwrseq_get has succeeded.
Peter
>
> Anyway, that means all pwrseq instances needs to be registered an
> early boot level, to be safe. To me, that seems like poor design
> choice.
>
> Otherwise I think this looks okay to me.
>
--
Best Regards,
Peter Chen
Powered by blists - more mailing lists