ASoC: dpcm: Allow PCMs to omit the set of supported formats
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 6 Jan 2014 13:19:07 +0000 (14:19 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 6 Jan 2014 17:42:42 +0000 (17:42 +0000)
Allow PCMs that do not impose any restrictions on the supported formats to set
the formats field to 0, Instead of assuming that this means that the PCM does
not support any formats (which doesn't make much sense), assume that it supports
all formats. This brings the behavior of DPCM closer to that of non-DPCM.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/soc-pcm.c

index b649e32791dfee1bcb6b94324752f02bdd3b0ab7..feb0f2843026cb9075befa4d7fe549d13f224ce7 100644 (file)
@@ -1235,7 +1235,10 @@ static void dpcm_init_runtime_hw(struct snd_pcm_runtime *runtime,
        runtime->hw.rate_max = stream->rate_max;
        runtime->hw.channels_min = stream->channels_min;
        runtime->hw.channels_max = stream->channels_max;
-       runtime->hw.formats &= stream->formats;
+       if (runtime->hw.formats)
+               runtime->hw.formats &= stream->formats;
+       else
+               runtime->hw.formats = stream->formats;
        runtime->hw.rates = stream->rates;
 }