On Mon, Jun 08, 2009 at 02:21:18PM +0200, Manuel Lauss wrote:
I see now what you mean, but this is ugly as sin: I now need to register 2 platform devices in the board code: 1 for the DAI (with resources mmio + irq) and 1 for the DMA engine (with ddma id resources), or register the DMA engine device from within the AC97/I2S drivers.
This is in my opinion even worse than the current scheme, which at least allows me to group all PSC resources into one struct resource which all audio-related drivers can share without too much uglyness.
If you trigger registration the DMA engine from within the I2S and AC97 devices you can still group everything together like you want to so I don't really see the problem - they're peering at a different device for the data but other than that things are unchanged. At the minute you're loosing a lot of sharing by having this in the individual machine drivers.
Note that one of the possibilities once multiple sound card support is introduced is that DAIs could be shared between multiple cards. This is only going to be at all useful for CPU DAIs which allow separate configuration of the RX and TX paths and will never be the common case but it's something to bear in mind.