This patch consists in settings the channels_min, rates and formats of the dummy codec DAI driver to enable the creation of the PCM streams using it.
Signed-off-by: Selma Bensaid selma.bensaid@intel.com --- include/sound/pcm.h | 9 +++++++++ sound/soc/soc-utils.c | 13 +++++++++++++ 2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index ff536f1..c0b5fd4 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -127,6 +127,8 @@ struct snd_pcm_ops {
#define SNDRV_PCM_RATE_CONTINUOUS (1<<30) /* continuous range */ #define SNDRV_PCM_RATE_KNOT (1<<31) /* supports more non-continuos rates */ +#define SNDRV_PCM_RATE_ALL (0xFFFFFFFF) /* support all RATES */ +
#define SNDRV_PCM_RATE_8000_44100 (SNDRV_PCM_RATE_8000|SNDRV_PCM_RATE_11025|\ SNDRV_PCM_RATE_16000|SNDRV_PCM_RATE_22050|\ @@ -203,6 +205,13 @@ struct snd_pcm_ops { #define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_BE #endif
+#define SNDRV_PCM_FMTBIT_CONTINUOUS \ + (SNDRV_PCM_FMTBIT_S16 | SNDRV_PCM_FMTBIT_U16 |\ + SNDRV_PCM_FMTBIT_S24 | SNDRV_PCM_FMTBIT_U24 |\ + SNDRV_PCM_FMTBIT_S32 | SNDRV_PCM_FMTBIT_U32 |\ + SNDRV_PCM_FMTBIT_FLOAT | SNDRV_PCM_FMTBIT_FLOAT64 |\ + SNDRV_PCM_FMTBIT_IEC958_SUBFRAME) + struct snd_pcm_file { struct snd_pcm_substream *substream; int no_compat_mmap; diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c index 6005370..2aeaf0b 100644 --- a/sound/soc/soc-utils.c +++ b/sound/soc/soc-utils.c @@ -92,6 +92,19 @@ static struct snd_soc_platform_driver dummy_platform = { static struct snd_soc_codec_driver dummy_codec; static struct snd_soc_dai_driver dummy_dai = { .name = "snd-soc-dummy-dai", + .playback = { + .channels_min = 1, + .channels_max = 0xFFFF, + .rates = SNDRV_PCM_RATE_ALL, + .formats = SNDRV_PCM_FMTBIT_CONTINUOUS, + }, + .capture = { + .channels_min = 1, + .channels_max = 0xFFFF, + .rates = SNDRV_PCM_RATE_ALL, + .formats = SNDRV_PCM_FMTBIT_CONTINUOUS, + }, + .ops = NULL, };
static __devinit int snd_soc_dummy_probe(struct platform_device *pdev)