On Mon, Jun 23, 2014 at 09:30:19AM +0200, Arnaud Pouliquen wrote:
On 06/21/2014 12:26 PM, Mark Brown wrote:
On Fri, Jun 20, 2014 at 04:07:03PM +0200, Arnaud Pouliquen wrote:
I have a platform with several audio IOs (DAC , HDMI...) and I2S In/out connectors. I'm using my codec driver but for this I2S output i used dummy codec driver with the snd-soc-dummy-dai dai.
Why are you using the dummy driver? This is intended to stub things out in some DPCM situations rather than as something that should be used in normal code.
My platform is a base for several projects and customers. In this context some extra I2S bus are available for extensions. I have two use cases to support.
- Possibility to test I2S bus without audio codec associated.
- Support client that does not use ASOC for audio codec ( a.e one manage
HDMI in his display driver...)
To be able to support these use cases i use device tree to construct the alsa card. if no asoc codec present, i connect dummy one.
No, this is is not at all sensible - don't do that. Think about it for a minute - if this were something we wanted to do it's going to apply just as much to any other I2S controller so we should be doing it in the core. If the user really wants to look at the signals with a scope they are probably capable of providing a suitable driver for their purposes.
If customer want to use another codec they have just to change device tree. Here is an example of my device tree declaration.
sound { compatible = "st,snd-soc-sti"; st,card-name = "audio"; st,audio-routing = /* Analog out route */ "Analog out","DAC", "DAC","dac_p"; st,asoc-platform = <&sti_asoc_platform>; backend-name = "HDMI_out", "PCM_out", "Analog_out", "spdif", "HDMI_in", "PCM_in"; backend-cpu-dai = <&snd_uni_player0 &snd_uni_player1 &snd_uni_player2 &snd_uni_player3 &snd_uni_reader0 &snd_uni_reader1 >; backend-codec = <&sti_sasg_codec 0 &sti_sasg_codec &sti_sasg_codec 0 0>; backend-codec-dai = "sas-dai-hdmi-out", "snd-soc-dummy-dai", "sas-dai-dac", "sas-dai-spdif-out", "snd-soc-dummy-dai","snd-soc-dummy-dai"; };
This looks a lot like you're trying to reinvent simple-card.