From: "Andrew F. Davis" <afd@ti.com>
To: Mark Brown <broonie@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Lee Jones <lee.jones@linaro.org>,
Linus Walleij <linus.walleij@linaro.org>,
Alexandre Courbot <gnurou@gmail.com>,
Samuel Ortiz <sameo@linux.intel.com>,
Liam Girdwood <lgirdwood@gmail.com>,
linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 4/5] regulators: tps65912: Add regulator driver for the TPS65912 PMIC
Date: Tue, 29 Sep 2015 13:58:41 -0500 [thread overview]
Message-ID: <560ADF61.9030105@ti.com> (raw)
In-Reply-To: <20150929183818.GA15635@sirena.org.uk>
On 09/29/2015 01:38 PM, Mark Brown wrote:
> On Tue, Sep 29, 2015 at 01:08:50PM -0500, Andrew F. Davis wrote:
>> On 09/29/2015 10:13 AM, Mark Brown wrote:
>
>>>> sure that will save me anything as my probe function is called with a DT
>>>> match already, so no searching is needed.
>
>>> You've not understood what that change is replacing, the code I'm
>>> quoting above is exactly that code. Check out some of the existing
>>> drivers using this API.
>
>> Looking at other drivers that use this API they all call regulator_register
>> in a loop in their probe, once for each possible regulator, in this case
>> letting the API do the DT node search makes sense. My probe on the other-hand
>> is only called when we already have a DT match, therefor searching is not
>> necessary and all I have to do is call of_get_regulator_init_data myself on
>> the already found DT node. No need to add node names to my regulator_desc
>> and make the API re-search for the node.
>
> Oh, ick. The binding has a compatible string in the individual
> regulator bindings which is broken unless there really are lots of
> variants being configured via DT (which is just not the case here).
> It's not only more typing in the DT,
I don't see this, the alternative is matching to this "regulator-compatible",
why not just use the existing compatible.
> it also means that we can't read
> back the configuration of the device unless the user goes and creates a
> DT which explicitly lists each regulator on the device which is
> unhelpful. We should be able to read back the configurations of all the
> regulators by simply listing the device in DT.
>
Could you expand this? I'm not sure I understand why we still cant do this
using this new way.
Bindings should have compatible strings when they describe hardware like this,
we can then do stuff like put the LDO and DCDC drivers in separate modules for
instance, letting DT only load what we need. There are other benefits like
not having to search our own DT binding for data, and we only get probed for
devices in the DT.
This also eliminates the need for MFD_CORE, we just call
of_platform_populate on ourself and DT helpers do the rest. Why hard code
mfd_cell's and do matching when DT does the same thing.
> The fact that this is different to the bindings for other regulator
> drivers and requires more code ought to have been a big warning sign
> here :(
>
The binding is the same as the new tps65218 driver, different isn't always
a warning sign. And what do you mean "requires more code"? This regulator
driver is smaller than almost any other. DT takes care of everything for
us relating to hardware instantiation like it should.
WARNING: multiple messages have this Message-ID (diff)
From: "Andrew F. Davis" <afd@ti.com>
To: Mark Brown <broonie@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Lee Jones <lee.jones@linaro.org>,
Linus Walleij <linus.walleij@linaro.org>,
Alexandre Courbot <gnurou@gmail.com>,
Samuel Ortiz <sameo@linux.intel.com>,
Liam Girdwood <lgirdwood@gmail.com>, <linux-gpio@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 4/5] regulators: tps65912: Add regulator driver for the TPS65912 PMIC
Date: Tue, 29 Sep 2015 13:58:41 -0500 [thread overview]
Message-ID: <560ADF61.9030105@ti.com> (raw)
In-Reply-To: <20150929183818.GA15635@sirena.org.uk>
On 09/29/2015 01:38 PM, Mark Brown wrote:
> On Tue, Sep 29, 2015 at 01:08:50PM -0500, Andrew F. Davis wrote:
>> On 09/29/2015 10:13 AM, Mark Brown wrote:
>
>>>> sure that will save me anything as my probe function is called with a DT
>>>> match already, so no searching is needed.
>
>>> You've not understood what that change is replacing, the code I'm
>>> quoting above is exactly that code. Check out some of the existing
>>> drivers using this API.
>
>> Looking at other drivers that use this API they all call regulator_register
>> in a loop in their probe, once for each possible regulator, in this case
>> letting the API do the DT node search makes sense. My probe on the other-hand
>> is only called when we already have a DT match, therefor searching is not
>> necessary and all I have to do is call of_get_regulator_init_data myself on
>> the already found DT node. No need to add node names to my regulator_desc
>> and make the API re-search for the node.
>
> Oh, ick. The binding has a compatible string in the individual
> regulator bindings which is broken unless there really are lots of
> variants being configured via DT (which is just not the case here).
> It's not only more typing in the DT,
I don't see this, the alternative is matching to this "regulator-compatible",
why not just use the existing compatible.
> it also means that we can't read
> back the configuration of the device unless the user goes and creates a
> DT which explicitly lists each regulator on the device which is
> unhelpful. We should be able to read back the configurations of all the
> regulators by simply listing the device in DT.
>
Could you expand this? I'm not sure I understand why we still cant do this
using this new way.
Bindings should have compatible strings when they describe hardware like this,
we can then do stuff like put the LDO and DCDC drivers in separate modules for
instance, letting DT only load what we need. There are other benefits like
not having to search our own DT binding for data, and we only get probed for
devices in the DT.
This also eliminates the need for MFD_CORE, we just call
of_platform_populate on ourself and DT helpers do the rest. Why hard code
mfd_cell's and do matching when DT does the same thing.
> The fact that this is different to the bindings for other regulator
> drivers and requires more code ought to have been a big warning sign
> here :(
>
The binding is the same as the new tps65218 driver, different isn't always
a warning sign. And what do you mean "requires more code"? This regulator
driver is smaller than almost any other. DT takes care of everything for
us relating to hardware instantiation like it should.
next prev parent reply other threads:[~2015-09-29 18:59 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-24 14:52 [PATCH v3 0/5] mfd: tps65912: Driver rewrite with DT support Andrew F. Davis
2015-09-24 14:52 ` Andrew F. Davis
2015-09-24 14:52 ` [PATCH v3 1/5] Documentation: tps65912: Add DT bindings for the TPS65912 PMIC Andrew F. Davis
2015-09-24 14:52 ` Andrew F. Davis
2015-10-02 11:12 ` Linus Walleij
2015-09-24 14:52 ` [PATCH v3 2/5] mfd: tps65912: Remove old driver in preparation for new driver Andrew F. Davis
2015-09-24 14:52 ` Andrew F. Davis
[not found] ` <1443106374-4126-3-git-send-email-afd-l0cyMroinI0@public.gmane.org>
2015-09-25 16:52 ` Lee Jones
2015-09-25 16:52 ` Lee Jones
2015-10-02 12:16 ` Linus Walleij
2015-09-24 14:52 ` [PATCH v3 3/5] mfd: tps65912: Add driver for the TPS65912 PMIC Andrew F. Davis
2015-09-24 14:52 ` Andrew F. Davis
[not found] ` <1443106374-4126-4-git-send-email-afd-l0cyMroinI0@public.gmane.org>
2015-09-25 16:50 ` Lee Jones
2015-09-25 16:50 ` Lee Jones
2015-09-25 19:13 ` Andrew F. Davis
2015-09-25 19:13 ` Andrew F. Davis
[not found] ` <56059CDA.4020004-l0cyMroinI0@public.gmane.org>
2015-09-25 21:24 ` Lee Jones
2015-09-25 21:24 ` Lee Jones
2015-09-28 15:43 ` Andrew F. Davis
2015-09-28 15:43 ` Andrew F. Davis
2015-09-29 7:19 ` Lee Jones
2015-09-29 15:50 ` Andrew F. Davis
2015-09-29 15:50 ` Andrew F. Davis
2015-09-28 16:01 ` Grygorii Strashko
2015-09-28 16:01 ` Grygorii Strashko
2015-09-29 18:16 ` Andrew F. Davis
2015-09-29 18:16 ` Andrew F. Davis
2015-09-24 14:52 ` [PATCH v3 4/5] regulators: tps65912: Add regulator " Andrew F. Davis
2015-09-24 14:52 ` Andrew F. Davis
[not found] ` <1443106374-4126-5-git-send-email-afd-l0cyMroinI0@public.gmane.org>
2015-09-25 18:05 ` Mark Brown
2015-09-25 18:05 ` Mark Brown
2015-09-25 20:10 ` Andrew F. Davis
2015-09-25 20:10 ` Andrew F. Davis
2015-09-29 15:13 ` Mark Brown
2015-09-29 18:08 ` Andrew F. Davis
2015-09-29 18:08 ` Andrew F. Davis
2015-09-29 18:38 ` Mark Brown
2015-09-29 18:58 ` Andrew F. Davis [this message]
2015-09-29 18:58 ` Andrew F. Davis
2015-09-30 17:28 ` Mark Brown
2015-09-30 20:29 ` Andrew F. Davis
2015-09-30 20:29 ` Andrew F. Davis
2015-09-30 22:20 ` Mark Brown
2015-09-30 23:32 ` Andrew F. Davis
2015-09-30 23:32 ` Andrew F. Davis
2015-10-01 10:53 ` Mark Brown
2015-10-01 15:33 ` Grygorii Strashko
2015-10-01 15:33 ` Grygorii Strashko
2015-10-01 16:08 ` Andrew F. Davis
2015-10-01 16:08 ` Andrew F. Davis
2015-10-01 16:25 ` Mark Brown
2015-09-24 14:52 ` [PATCH v3 5/5] gpio: tps65912: Add GPIO " Andrew F. Davis
2015-09-24 14:52 ` Andrew F. Davis
2015-09-28 2:54 ` Alexandre Courbot
[not found] ` <CAAVeFuKu8R5GCQo3NySCOVLUew4_1qpYydHPAz9tfNorj27-NA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-28 15:52 ` Andrew F. Davis
2015-09-28 15:52 ` Andrew F. Davis
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=560ADF61.9030105@ti.com \
--to=afd@ti.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=gnurou@gmail.com \
--cc=ijc+devicetree@hellion.org.uk \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=sameo@linux.intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.