
On Thu, Aug 04, 2016 at 10:21:10AM +0200, Lars-Peter Clausen wrote:
To be honest I'd also get rid of DAIs has a top level concept. This image (http://metafoo.de/the_new_asoc.svg) is something I've put together awhile ago how I think we should lay things out if we do a major refactoring of the ASoC core.
I do think they have a useful purpose in representing the edges of chips in a convenient bundle and inject configuration. I too would like to see them less prominent in the code internals but they are useful as an interface.
Obviously we can't convert everything at the same time and it will take a lot of time and effort to update all drivers to this new model. This is where the legacy bridge kicks in which still keeps the concept of 1 CPU, 1 CODEC, 1 platform. If you want to use the advanced features of the new framework you have to update your driver, if you are OK with the current set of features just keep the drivers the way they are and use the legacy bridge that is automatically managed by the ASoC core.
I actually keep thinking that it might be easier to refactor the simple CPU plus platform SoCs into components than anything else - there's going to be gotchas in there but it seems like a useful string to pull at. Though realistically if we're going to get companies working on this it's probably easier to get DPCM people started off.