On 03/10/2014 08:03 AM, Kuninori Morimoto wrote:
Hi Lars
There is already a cpu_name field for the DAI link struct and it is ignored when it is NULL. See http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/so...
indeed Thanks
I have a patch that makes using cpu_name mandatory for new component drivers. And then we can slowly start to convert old platforms.
Nice !
Basically, my worry is cpu/codec "asymmetry" data structure. (Maybe it came from "historical" reason?)
Yep.
I would like to have new "struct snd_soc_cpu" and "snd_soc_register_cpu()" instead of current "component" if possible. It is understandable.
The patchset I'm working goes the other direction. The idea is to eventually remove snd_soc_codec and only have snd_soc_component. With modern SoCs the CPU side isn't just a dumb DAI anymore, but you often have signal routing and mixing capabilities, sample rate converters, sometimes even a full DSP. And then there are also those SoCs which have a DAC and/or ADC directly built-in. This makes them complexity wise similar to the CODEC side and having things like DAPM and our set of standard predefined kcontrols makes it easier to manage them.
- Lars