diff mbox series

ALSA: snd-usb-caiaq: use snd_pcm_rate_to_rate_bit

Message ID 20240808134857.86749-1-jbrunet@baylibre.com (mailing list archive)
State New, archived
Headers show
Series ALSA: snd-usb-caiaq: use snd_pcm_rate_to_rate_bit | expand

Commit Message

Jerome Brunet Aug. 8, 2024, 1:48 p.m. UTC
Use snd_pcm_rate_to_rate_bit() helper provided by Alsa instead
re-implementing it. This reduce code duplication and helps when
changing some Alsa definition is necessary.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
 sound/usb/caiaq/audio.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

Comments

Takashi Iwai Aug. 8, 2024, 4:33 p.m. UTC | #1
On Thu, 08 Aug 2024 15:48:54 +0200,
Jerome Brunet wrote:
> 
> Use snd_pcm_rate_to_rate_bit() helper provided by Alsa instead
> re-implementing it. This reduce code duplication and helps when
> changing some Alsa definition is necessary.
> 
> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>

Thanks, applied now.


Takashi
diff mbox series

Patch

diff --git a/sound/usb/caiaq/audio.c b/sound/usb/caiaq/audio.c
index 4981753652a7..e62a4ea1d19c 100644
--- a/sound/usb/caiaq/audio.c
+++ b/sound/usb/caiaq/audio.c
@@ -174,14 +174,6 @@  static int snd_usb_caiaq_pcm_hw_free(struct snd_pcm_substream *sub)
 	return 0;
 }
 
-/* this should probably go upstream */
-#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_192000 != 1 << 12
-#error "Change this table"
-#endif
-
-static const unsigned int rates[] = { 5512, 8000, 11025, 16000, 22050, 32000, 44100,
-				48000, 64000, 88200, 96000, 176400, 192000 };
-
 static int snd_usb_caiaq_pcm_prepare(struct snd_pcm_substream *substream)
 {
 	int bytes_per_sample, bpp, ret, i;
@@ -233,10 +225,7 @@  static int snd_usb_caiaq_pcm_prepare(struct snd_pcm_substream *substream)
 
 	/* the first client that opens a stream defines the sample rate
 	 * setting for all subsequent calls, until the last client closed. */
-	for (i=0; i < ARRAY_SIZE(rates); i++)
-		if (runtime->rate == rates[i])
-			cdev->pcm_info.rates = 1 << i;
-
+	cdev->pcm_info.rates = snd_pcm_rate_to_rate_bit(runtime->rate);
 	snd_pcm_limit_hw_rates(runtime);
 
 	bytes_per_sample = BYTES_PER_SAMPLE;