]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ASoC: pcm: Use wildcard msbits constraints
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 29 Dec 2014 17:43:38 +0000 (18:43 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 30 Dec 2014 15:28:08 +0000 (16:28 +0100)
Use the new wildcard msbits constraints instead of installing a constraint
for each available sample format width.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/soc/soc-pcm.c

index eb87d96e2cf0a8807e34a9859918a5c672d17981..d62d6a5340a85c7ff8b84bba17badbfa8879bdb4 100644 (file)
@@ -301,15 +301,6 @@ static bool soc_pcm_has_symmetry(struct snd_pcm_substream *substream)
        return symmetry;
 }
 
-/*
- * List of sample sizes that might go over the bus for parameter
- * application.  There ought to be a wildcard sample size for things
- * like the DAC/ADC resolution to use but there isn't right now.
- */
-static int sample_sizes[] = {
-       24, 32,
-};
-
 static void soc_pcm_set_msb(struct snd_pcm_substream *substream, int bits)
 {
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
@@ -318,17 +309,10 @@ static void soc_pcm_set_msb(struct snd_pcm_substream *substream, int bits)
        if (!bits)
                return;
 
-       for (i = 0; i < ARRAY_SIZE(sample_sizes); i++) {
-               if (bits >= sample_sizes[i])
-                       continue;
-
-               ret = snd_pcm_hw_constraint_msbits(substream->runtime, 0,
-                                                  sample_sizes[i], bits);
-               if (ret != 0)
-                       dev_warn(rtd->dev,
-                                "ASoC: Failed to set MSB %d/%d: %d\n",
-                                bits, sample_sizes[i], ret);
-       }
+       ret = snd_pcm_hw_constraint_msbits(substream->runtime, 0, 0, bits);
+       if (ret != 0)
+               dev_warn(rtd->dev, "ASoC: Failed to set MSB %d: %d\n",
+                                bits, ret);
 }
 
 static void soc_pcm_apply_msb(struct snd_pcm_substream *substream)