On 01/27/2015 01:01 PM, Ricard Wanderlof wrote:
I'm trying to set up a simple device tree framework so I can do some development on an I2S driver. I'm trying to use simple-audio-card, but I keep running into the problem that once soc_bind_dai_link() gets called, dai_link->platform is set to NULL (because it is not initialized by simple-card.c when there is a DT node), while dai_link->platform_of_node has been set to dai_link->cpu_of_node in asoc_simple_card_parse_of().
[...]
I can't figure out either how to set up a platform (=DMA) driver in this environment. Perhaps the case of having a CPU DAI, DMA driver and codec DAI is not supported by simple-audio-card?
[...]
Usually in such a setup the CPU DAI driver also register the platform component. Which then as the same of_node as the CPU DAI and so the matching works. There are plenty of examples e.g. check the drivers using devm_snd_dmaengine_pcm_register().
- Lars