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-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html