On 09/17/2013 12:45 AM, Laxman Dewangan wrote: > The AMS AS3722 is a compact system PMU suitable for mobile phones, > tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down > controller, 11 LDOs, RTC, automatic battery, temperature and > over-current monitoring, 8 GPIOs, ADC and wathdog. > > Add mfd core driver for the AS3722 to support core functionality. Nice patch description. (although a couple typos: s/wathdog/watchdog/, s/mfd/MFD/) > +Note: This gpio properties will be in the as3722 node. Why? If there's a GPIO sub-node, why wouldn't all the GPIO properties appear there? > +Sub-node compatible: > +------------------- > +The of_node of its all child node will have compatible so that it can > +get the child node handle and pass as the dev->of_node when registering > +mfd devices. That's very much Linux-specific details. Re-phrasing it as follows would make more sense: ========== Each HW module within the PMIC is represented as a separate child node within the PMIC's main node. These nodes are described below: GPIO controller ------------------- Required properties: compatible: Must be "ams,as3722-gpio" ... Regulator ------------------- ... ========== That also has the benefit of fully describing the content of all the child nodes in the binding, rather than only mentioning what the compatible values should be, and saying nothing else about the nodes. But, as Mark asked, why are any child nodes needed at all? If e.g. an identical/re-usable GPIO HW block appears in many AMS PMICs, it possibly makes sense, but otherwise it doesn't. -- 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