On Mon, Oct 24, 2011 at 03:49:30PM +0200, Mark Brown wrote: > On Mon, Oct 24, 2011 at 09:40:26PM +0800, Shawn Guo wrote: > > > +++ b/drivers/regulator/core.c > > @@ -2673,7 +2673,8 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, > > BLOCKING_INIT_NOTIFIER_HEAD(&rdev->notifier); > > > > /* find device_node and attach it */ > > - rdev->dev.of_node = of_find_node_by_name(NULL, regulator_desc->name); > > + rdev->dev.of_node = of_find_node_by_name(dev->parent->of_node, > > + regulator_desc->name); > > > > Is that going to do the right thing if you've got a MFD which does > register each regulator as a separate device? Based on my understanding, 1:1 is just a special case of N:1. I failed to see any problem having it work with registering each regulator as a separate device. > Might be best to just > search within dev and get drivers to pass the "real" device in when > registering the regulator rather than the virtual device. > It should also work, but it will also change the API slightly for non-dt users. I'm not sure it's something we want. -- 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