On Mon, Oct 3, 2011 at 1:16 PM, Mark Brown <broo...@opensource.wolfsonmicro.com> wrote: > It seems to me like either the IP block is heavily dependant on the core > and shouldn't be split out in the device tree at all (but should instead > be part of the core node) or the IP block is very isolated from the core > (in which case we should just be able to instantiate the device from the > device tree without using explict code in the core driver). > > This all feels like there's some abstraction violation going on.
I guess it is a matter of opinion. To me, the abstraction is sensible and representative of the hardware. The gpio controller (and several other components) are abstracted at the hardware level behind an ISA bridge. In the device tree, we have the ISA bridge represented as /pci/isa. Then we have various child nodes of that ISA bridge, such as the gpio controller at /pci/isa/gpios or the timer controller at /pci/isa/timer This also matches the way that the hardware is described by VIA in the specs, and it matches the way that Linux has its own device hierachy laid out (i.e. the ISA bridge driven by the mfd driver, which then spawns off a child device for the GPIO controller). It would not be possible to fold all of the isa bridge child components into the same device tree node without dealing with various namespace collisions. Grant, could we have your opinion on whether this is a good abstraction or not? and generally how we go forward. Thanks, Daniel _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss