On Tue, Mar 3, 2015 at 6:47 PM, Rob Herring <robherring2@xxxxxxxxx> wrote: > On Tue, Mar 3, 2015 at 3:32 AM, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: >> +Optional properties: >> + >> +- compatible : "simple-mfd" - this signifies that the operating system should >> + spawn child devices for all the subnodes of the MFD device akin to how >> + "simple-bus" inidicates when to spawn children for a simple memory-mapped >> + bus. For more complex devices, when the nexus driver has to probe registers >> + to figure out what children exist etc, this should not be used. In the latter >> + case the child devices will be instantiated by the operating system. > > If you point of_platform_populate to the parent node, it should > instantiate all children regardless of "simple-bus" or any other > match. The match is to probe the grandchildren. Yep, if children are only children of the top node, yes. > I could be mistaken, > but that's how it works at the root level. Yes but only at the root level. > You don't have a driver > probe for the parent, so you want the top level of_platform_populate > call to instantiate these devices? of_platform_populate() only populates one level unless the node has something like "simple-bus" or this new "simple-mfd" compatible on it. > Why does simple-bus not work for you? After all, it is not > "simple-memory-map-bus." As Lee says it works (obviously since I'm just adding a oneliner doing exactly the same thing as "simple-bus"), but the terminology is just wrong. It's not a bus in any hardware sense, as MFD is a logical subdevice split, nothing else. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html