From: Rajendra Nayak <rnayak-l0cyMroinI0@public.gmane.org>
To: Shawn Guo <shawn.guo-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Cc: patches-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
lrg-l0cyMroinI0@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH v2 3/5] regulator: helper routine to extract regulator_init_data
Date: Thu, 20 Oct 2011 10:48:58 +0530 [thread overview]
Message-ID: <4E9FAF42.5060200@ti.com> (raw)
In-Reply-To: <20111019144215.GA32007-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
>
> I'm not sure why twl works in that way. Is it a sign that those
> configuration peeked by twl regulator driver should be encoded in twl
> regulator driver itself instead of being passed from the board? Or
No, the driver is just trying to make sure that nothing invalid (not
supported by hardware) gets passed from the boards.
> why the board does not pass something matching driver/hardware
> capability to save that peek?
>
>> or cases like the db8500 where
>> regulator_init_data for all regulators are bundled together and the
>> driver extracts and registers them as separate regulators.
>
> For this particular case, we just end up with having some duplicated
> constraints description in the dts file. To me, it's not a problem.
>
>> Exporting an
>> api instead to extract regulator_init_data to the driver might help
>> in those cases.
>>
> IMO, these cases should be generalized to fit the common pattern of
> regulator drivers.
>
>>>
>>>> +{
>>>> + struct regulator_init_data *init_data;
>>>> +
>>>> + if (!dev->of_node)
>>>> + return NULL;
>>>> +
>>>> + init_data = devm_kzalloc(dev, sizeof(*init_data), GFP_KERNEL);
>>>> + if (!init_data)
>>>> + return NULL; /* Out of memory? */
>>>> +
>>>> + of_get_regulation_constraints(dev->of_node,&init_data);
>>>
>>> Beside the 'dev' here with of_node attached, there will be another
>>> 'dev' created by regulator core function regulator_register(), which
>>> is wrapped by 'regulator_dev'.
>>>
>>> So we have two 'dev'. One is created by DT core with of_node attached,
>>> and used to retrieve regulator_init_data from device tree. Another one
>>> is created in regulator_register() and used by regulator core.
>>
>> But thats not something newly done now with DT. Thats how it was even
>> in the non-DT world. There were always two devices with the
>> regulator_dev device as the child.
>>
> Let's look at mc13892-regulator driver. There are 23 regulators defined
> in array mc13892_regulators. Needless to say, there is a dev behind
> mc13892-regulator driver. And when getting probed, this driver will
> call regulator_register() to register those 23 regulators individually.
> That said, for non-dt world, we have 1 + 23 'dev' with that 1 as the
> parent of all other 23 'dev' (wrapped by regulator_dev). But with the
> current DT implementation, we will have at least 1 + 23 * 2 'dev'.
> These extra 23 'dev' is totally new with DT.
>
but thats only because the mc13892-regulator driver is implemeted in
such a way that all the regulators on the platform are bundled in as
*one* device. It would again depend on how you would pass these from
the DT, if you indeed stick to the same way of bundling all regulators
as one device from DT, the mc13892-regulator probe would just get called
once and there would be one device associated, no?
next prev parent reply other threads:[~2011-10-20 5:18 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-10 16:19 [PATCH v2 0/5] Device tree support for regulators Rajendra Nayak
[not found] ` <1318263578-7407-1-git-send-email-rnayak-l0cyMroinI0@public.gmane.org>
2011-10-10 16:19 ` [PATCH v2 1/5] regulator: twl: Remove hardcoded board constraints from driver Rajendra Nayak
2011-10-10 16:25 ` Mark Brown
2011-10-10 16:34 ` Rajendra Nayak
2011-10-10 16:19 ` [PATCH v2 3/5] regulator: helper routine to extract regulator_init_data Rajendra Nayak
2011-10-10 17:22 ` Mark Brown
2011-10-11 5:59 ` Rajendra Nayak
2011-10-13 18:38 ` Grant Likely
2011-10-13 22:12 ` Mark Brown
2011-10-13 18:40 ` Grant Likely
2011-10-16 14:55 ` Shawn Guo
2011-10-17 4:17 ` Rajendra Nayak
2011-10-18 11:58 ` Shawn Guo
[not found] ` <20111018115836.GC30703-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2011-10-18 16:00 ` Mark Brown
2011-10-19 5:33 ` Shawn Guo
[not found] ` <20111019053354.GB31162-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2011-10-19 14:47 ` Mark Brown
2011-10-19 15:04 ` Shawn Guo
2011-10-19 15:10 ` Mark Brown
2011-10-20 3:42 ` Rajendra Nayak
[not found] ` <4E9F9892.9070007-l0cyMroinI0@public.gmane.org>
2011-10-20 9:41 ` Mark Brown
[not found] ` <20111020094140.GK18713-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2011-10-20 12:10 ` Rajendra Nayak
2011-10-20 16:27 ` Tony Lindgren
[not found] ` <20111020162743.GB31337-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-10-20 16:40 ` Mark Brown
2011-10-20 17:05 ` Tony Lindgren
2011-10-20 17:22 ` Tony Lindgren
2011-10-20 19:57 ` Mark Brown
2011-10-20 20:10 ` Tony Lindgren
2011-10-20 21:42 ` Mark Brown
2011-10-20 22:09 ` Tony Lindgren
2011-10-24 9:07 ` Grant Likely
2011-10-20 19:56 ` Mark Brown
2011-10-18 13:20 ` Shawn Guo
2011-10-19 11:35 ` Rajendra Nayak
2011-10-19 14:42 ` Shawn Guo
2011-10-19 14:50 ` Mark Brown
[not found] ` <20111019144215.GA32007-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2011-10-20 5:18 ` Rajendra Nayak [this message]
2011-10-20 6:14 ` Shawn Guo
2011-10-20 12:09 ` Rajendra Nayak
2011-10-21 8:23 ` Shawn Guo
2011-10-21 8:41 ` Rajendra Nayak
2011-10-21 11:58 ` Shawn Guo
2011-10-24 6:02 ` Rajendra Nayak
2011-10-24 7:34 ` Mark Brown
2011-10-24 8:17 ` Grant Likely
2011-10-24 8:53 ` Rajendra Nayak
2011-10-24 9:19 ` Mark Brown
2011-10-24 10:05 ` Rajendra Nayak
2011-10-24 9:23 ` Shawn Guo
2011-10-24 9:02 ` Shawn Guo
2011-10-24 8:56 ` Rajendra Nayak
2011-10-24 9:11 ` Shawn Guo
2011-10-24 9:13 ` Rajendra Nayak
2011-10-24 13:47 ` Shawn Guo
2011-10-25 6:00 ` Rajendra Nayak
2011-10-25 6:26 ` Rajendra Nayak
2011-10-25 6:52 ` Shawn Guo
[not found] ` <20111025065216.GD2119-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2011-10-25 6:56 ` Rajendra Nayak
2011-10-25 7:20 ` Shawn Guo
2011-10-25 7:13 ` Rajendra Nayak
2011-10-25 7:42 ` Shawn Guo
2011-10-24 11:35 ` Grant Likely
2011-10-24 9:24 ` Grant Likely
2011-10-24 9:39 ` Mark Brown
2011-10-24 13:04 ` Shawn Guo
2011-10-24 13:06 ` Mark Brown
2011-10-24 13:40 ` Shawn Guo
2011-10-24 13:49 ` Mark Brown
2011-10-24 14:47 ` Shawn Guo
[not found] ` <20111024144716.GG1755-+NayF8gZjK2ctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2011-10-25 7:11 ` Mark Brown
2011-10-24 13:59 ` Grant Likely
2011-10-24 14:51 ` Shawn Guo
2011-10-24 14:56 ` Grant Likely
2011-10-24 15:51 ` Shawn Guo
2011-10-24 22:21 ` Grant Likely
2011-10-25 6:10 ` Rajendra Nayak
2011-10-25 7:08 ` Shawn Guo
2011-10-25 7:01 ` Rajendra Nayak
2011-10-25 7:28 ` Shawn Guo
2011-10-10 16:19 ` [PATCH v2 4/5] regulator: adapt fixed regulator driver to dt Rajendra Nayak
2011-10-13 18:43 ` Grant Likely
2011-10-10 16:19 ` [PATCH v2 5/5] regulator: map consumer regulator based on device tree Rajendra Nayak
2011-10-10 17:35 ` Mark Brown
2011-10-11 5:49 ` Rajendra Nayak
2011-10-11 7:08 ` Nayak, Rajendra
[not found] ` <CACYZBRFmLEY_f1UwJa5U9uj8+NVA-WfUVkiuW1yKrpwnrA_00A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-10-13 16:52 ` Mark Brown
2011-10-13 18:46 ` Grant Likely
2011-10-18 13:33 ` Shawn Guo
2011-10-10 16:19 ` [PATCH v2 2/5] dt: add empty dt helpers for non-dt build Rajendra Nayak
2011-10-13 18:32 ` Grant Likely
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=4E9FAF42.5060200@ti.com \
--to=rnayak-l0cymroini0@public.gmane.org \
--cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lrg-l0cyMroinI0@public.gmane.org \
--cc=patches-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=shawn.guo-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.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;
as well as URLs for NNTP newsgroup(s).