[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a4ccd5af-ce71-bc24-cdb9-d480380d15d4@gmail.com>
Date: Tue, 18 Jun 2019 19:47:32 +0300
From: Dmitry Osipenko <digetx@...il.com>
To: Mark Brown <broonie@...nel.org>
Cc: Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Peter De Schrijver <pdeschrijver@...dia.com>,
Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org,
linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 6/8] regulator: core: Don't attach generic coupler to
Tegra SoC regulators
17.06.2019 18:44, Mark Brown пишет:
> On Tue, Jun 04, 2019 at 02:59:02AM +0300, Dmitry Osipenko wrote:
>
>> static int generic_coupler_attach(struct regulator_coupler *coupler,
>> struct regulator_dev *rdev)
>> {
>> + /*
>> + * Generic coupler isn't suitable for NVIVIA Tegra SoC's, at least
>> + * for now. Hence filter out the unwanted regulators as they shall be
>> + * managed by a platform-specific coupler.
>> + */
>> + if (of_property_read_bool(rdev->dev.of_node, "tegra-core-regulator") ||
>> + of_property_read_bool(rdev->dev.of_node, "tegra-rtc-regulator") ||
>> + of_property_read_bool(rdev->dev.of_node, "tegra-cpu-regulator"))
>> + return -EPERM;
>> +
>
> I'm having a hard time loving this as it requires explicit DT changes
> for implementation. I'm thinking that since the couplers are going to
> need to be built in it'd be better to make sure that any custom ones get
> registered first and then only bind the generic coupler to anything they
> reject.
>
Actually, the current implementation at first tries all the custom couplers and then
falls back to the generic.
What's currently missing is that any error code of the attach_regulator() callback is
treated as "go try next coupler", but we probably need a special error code for the
"skip me" case to differentiate from a error that should abort the coupler's lookup
process.
I'll re-work this in v3.
Powered by blists - more mailing lists