[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20111025074245.GH2119@S2100-06.ap.freescale.net>
Date: Tue, 25 Oct 2011 15:42:46 +0800
From: Shawn Guo <shawn.guo@...escale.com>
To: Rajendra Nayak <rnayak@...com>
CC: Grant Likely <grant.likely@...retlab.ca>,
<broonie@...nsource.wolfsonmicro.com>, <patches@...aro.org>,
<tony@...mide.com>, <devicetree-discuss@...ts.ozlabs.org>,
<linux-kernel@...r.kernel.org>, <linux-omap@...r.kernel.org>,
<lrg@...com>, <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v2 3/5] regulator: helper routine to extract
regulator_init_data
On Tue, Oct 25, 2011 at 12:43:55PM +0530, Rajendra Nayak wrote:
> On Tuesday 25 October 2011 12:50 PM, Shawn Guo wrote:
> >On Tue, Oct 25, 2011 at 12:26:01PM +0530, Rajendra Nayak wrote:
> >>On Tuesday 25 October 2011 12:22 PM, Shawn Guo wrote:
> >>>On Tue, Oct 25, 2011 at 11:30:19AM +0530, Rajendra Nayak wrote:
> >[...]
> >>>>Thats what we did for OMAP, and hence we always have the of_node
> >>>>populated when the regulator devices are probed.
> >>>>See this patch from Benoit on how thats done for twl devices..
> >>>>http://marc.info/?l=linux-omap&m=131489864814428&w=2
> >>>>
> >>>OMAP is "Case 1", and we are talking about "Case 2".
> >>
> >>I don't see why it wouldn't work for "Case 2".
> >
> >I did not say it wouldn't work for "Case 2". I meant they work in
> >different way.
> >
> >>The only difference
> >>is in case of "Case 1", the dev->of_node would already point to
> >>the right regulator node, like 'reg1', 'reg2' above.
> >>In case of "Case 2", the dev->of_node would point to the 'regulators'
> >>node instead, and the driver could then do a for_each_child_of_node()
> >>to iterate over all its children to get 'reg1', 'reg2' etc.
> >>
> >Yes, that's the difference. So you will need to distinguish these
> >two cases in regulator_register()? How?
>
> You don't need to distinguish these cases in regulator_register().
> The driver knows if its handling "Case 1" devices or "Case 2" devices
> and it needs to handle things accordingly and pass the right of_node
> which regulator_register() can then attach to regulator_dev->dev.
>
Ah, you are thinking about (for Case 2) calling for_each_child_of_node()
in regulator driver and passing the of_node found for each regulator to
regulator core as a new parameter of regulator_register(). Yes, that
would work, though my thought is to put the device_node discovery in
regulator core and hide it from regulator driver.
Okay, I'm good with this solution. Grant, Mark, what about you?
--
Regards,
Shawn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists