On 03/19/2012 09:01 AM, Arnd Bergmann wrote: > On Monday 19 March 2012, Mark Brown wrote: >> On Sat, Mar 17, 2012 at 10:47:51AM +0000, Grant Likely wrote: >> >>> After implementing both schemes (ie. interrupts+interrupt-names && >>> [*-]gpios) >>> I definitely prefer the fixed property name plus a separate names property. >>> It is easier to use common code with that scheme, and easier to statically >>> check for correctness. >> >> It's not a fantastic experience when using the bindings as the arrays >> grow large, though - keeping things matched up isn't much fun especially >> if any of the elements in the array are optional. > > Maybe one can use named properties in a new device node in that case, > like this: > > bus { > dma: dma-controller { > #dma-cells = <1>; > }; > > device { > compatible = "device"; > channel: dma-channel { > type = <0x1>; > name = "foo"; > number = <23>; > direction = <3>; > }; > dma-requests = <&dma &channel>; > }; > };
For reference, this is very similar to how the pinctrl bindings work, except that they require the "channel" node to be a child of the DMA controller, and hence "dma-requests" doesn't contain <&dma &channel>, just <&channel>, since "dma" is the parent (or grand-parent) of "channel". _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss