On Thu, Aug 19, 2010 at 5:52 PM, Mark Brown broonie@opensource.wolfsonmicro.com wrote:
On Thu, Aug 19, 2010 at 04:58:55PM +0200, Manuel Lauss wrote:
On Thu, Aug 19, 2010 at 4:48 PM, Mark Brown
Please remember to keep people CCed on Linux mailing list postings.
The struct snd_ac97 * passed in to them has a pointer to the struct snd_card * for the card which should (via some further indirection) allow you to get back to the ASoC specific structures.
Are there an in-tree examples I could look at? (and for example on how to pass per-instance platform data around? It's not immediately obvious to me how to get data allocated in a platform_driver.probe() callback to the various dai_ops and pcm_ops).
This is the only embedded device I've ever seen where anyone wanted to use multiple AC97 controllers so not directly. If you look at the SoC core you can see how the various ALSA structures are converted into ASoC specific ones, though.
There are up to four PSCs, each capable of both AC97 and I2S operation, with separate RX and TX DMA channels. I consider each PSC a separate "card".
I figured out how to access platform data in dai_ops, however I see absolutely no way to get at it from the ac97_ops.
Manuel