From: Rhyland Klein <rklein@nvidia.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Anton Vorontsov <cbou@mail.ru>,
David Woodhouse <dwmw2@infradead.org>,
Grant Likely <grant.likely@secretlab.ca>,
Rob Herring <rob.herring@calxeda.com>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Mark Brown <broonie@opensource.wolfsonmicro.com>
Subject: Re: [RFC v2 1/3] power_supply: Define Binding for supplied-nodes
Date: Fri, 22 Feb 2013 17:05:10 -0500 [thread overview]
Message-ID: <5127EB96.3000206@nvidia.com> (raw)
In-Reply-To: <5127CAF9.1030506@wwwdotorg.org>
On 2/22/2013 2:46 PM, Stephen Warren wrote:
> On 02/21/2013 04:11 PM, Rhyland Klein wrote:
>> This property is meant to be used in device nodes which represent
>> power_supply devices that wish to provide a list of supplies to
>> which they provide power. A common case is a AC Charger with
>> the batteries it powers.
>> diff --git a/Documentation/devicetree/bindings/power_supply/power_supply.txt b/Documentation/devicetree/bindings/power_supply/power_supply.txt
>> +Optional Properties:
>> + - power-supply : This property is added to a supply in order to list the
>> + devices which supply it power, referenced by their phandles.
> DT properties that reference resources are usually named in the plural,
> so "power-supplies" would be more appropriate here.
>
> It seems plausible that a single DT node could represent/instantiate
> multiple separate supply objects. I think we want to employ the standard
> pattern of <phandle args*> rather than just <phandle>.
>
> That way, each supply that can supply others would have something like a
> #supply-cells = <n>, where n is the number of cells that the supply uses
> to name the multiple supplies provided by that node. 0 would be a common
> value here. 1 might be used for a node that represents many supplies.
>
> When a client supply uses a providing supply as the supply(!), do you
> need any flags to parameterize the connection? If so, that might be
> cause for a supplier to have a larger #supply-cells, so the flags could
> be represented.
>
> That all said, regulators assume 1 node == 1 regulator, so an
> alternative would be for a multi-supply node to include a child node per
> supply, e.g.:
>
> power@xxx {
> ...
> supply1 {
> ...
> };
> supply2 {
> ...
> };
> };
>
> client {
> supplies = <&supply1> <&supply2>;
> };
>
> I don't recall why regulators went for the style above rather than the
> #supply-cells style. Cc Mark Brown for any comment here.
>
> Also, do supplies and regulators need to inter-operate in any way (e.g.
> reference each-other in DT)?
>
>> +Example:
>> +
>> + usb-charger: power@e {
>> + compatible = "some,usb-charger";
>> + ...
>> + };
>> +
>> + ac-charger: power@e {
>> + compatible = "some,ac-charger";
>> + ...
>> + };
>> +
>> + battery@b {
>> + compatible = "some,battery";
>> + ...
>> + power-supply = <&usb-charger>, <&ac-charger>;
>> + };
The "connection" between supplier and supplies isn't really a hard
connection.
Essentially, the core code uses the names/nodes in the list and iterates
over
all the power_supplies that are registered and does matching.
I don't have any experience working with a single node that would spawn
multiple
supplies, though the situation I am sure is possible. I am interested to
see what
the consensus is around this design for multiple supplies, as I don't have a
preference either way.
-rhyland
--
nvpublic
next prev parent reply other threads:[~2013-02-22 22:05 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-21 23:11 [RFC v2 0/3] Add DT Binding for Power-Supply power-supply property Rhyland Klein
2013-02-21 23:11 ` [RFC v2 1/3] power_supply: Define Binding for supplied-nodes Rhyland Klein
2013-02-22 19:46 ` Stephen Warren
2013-02-22 22:05 ` Rhyland Klein [this message]
2013-02-21 23:11 ` [RFC v2 2/3] power: power_supply: Add core support for supplied_nodes Rhyland Klein
2013-02-22 19:49 ` Stephen Warren
2013-02-22 21:55 ` Rhyland Klein
2013-02-22 23:01 ` Stephen Warren
2013-02-28 19:54 ` Rhyland Klein
2013-02-22 20:09 ` Stephen Warren
2013-02-22 21:58 ` Rhyland Klein
2013-02-28 19:48 ` Rhyland Klein
2013-03-02 22:48 ` Anton Vorontsov
2013-03-04 17:32 ` Rhyland Klein
2013-03-04 17:47 ` Anton Vorontsov
2013-02-21 23:11 ` [RFC v2 3/3] power: power_supply: add support for getting supplied-nodes from dt Rhyland Klein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5127EB96.3000206@nvidia.com \
--to=rklein@nvidia.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=cbou@mail.ru \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=dwmw2@infradead.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=rob.herring@calxeda.com \
--cc=swarren@wwwdotorg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox