diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2007-08-13 11:40:54 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2007-10-16 09:58:54 -0400 |
commit | 918f3a0e8cf67b5db966516f255eaf24d814fac0 (patch) | |
tree | ae4ac300f4ca93346d4b4ca9a22d760c87ab3072 /sound/pci/bt87x.c | |
parent | 7653d557606c7cae921557a6a0ebb7c510e458eb (diff) |
[ALSA] pcm: add snd_pcm_rate_to_rate_bit() helper
Add a snd_pcm_rate_to_rate_bit() function to factor out common code used
by several drivers.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/bt87x.c')
-rw-r--r-- | sound/pci/bt87x.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c index f0e12985dc29..85d50b64d2ba 100644 --- a/sound/pci/bt87x.c +++ b/sound/pci/bt87x.c | |||
@@ -340,28 +340,9 @@ static struct snd_pcm_hardware snd_bt87x_analog_hw = { | |||
340 | 340 | ||
341 | static int snd_bt87x_set_digital_hw(struct snd_bt87x *chip, struct snd_pcm_runtime *runtime) | 341 | static int snd_bt87x_set_digital_hw(struct snd_bt87x *chip, struct snd_pcm_runtime *runtime) |
342 | { | 342 | { |
343 | static struct { | ||
344 | int rate; | ||
345 | unsigned int bit; | ||
346 | } ratebits[] = { | ||
347 | {8000, SNDRV_PCM_RATE_8000}, | ||
348 | {11025, SNDRV_PCM_RATE_11025}, | ||
349 | {16000, SNDRV_PCM_RATE_16000}, | ||
350 | {22050, SNDRV_PCM_RATE_22050}, | ||
351 | {32000, SNDRV_PCM_RATE_32000}, | ||
352 | {44100, SNDRV_PCM_RATE_44100}, | ||
353 | {48000, SNDRV_PCM_RATE_48000} | ||
354 | }; | ||
355 | int i; | ||
356 | |||
357 | chip->reg_control |= CTL_DA_IOM_DA; | 343 | chip->reg_control |= CTL_DA_IOM_DA; |
358 | runtime->hw = snd_bt87x_digital_hw; | 344 | runtime->hw = snd_bt87x_digital_hw; |
359 | runtime->hw.rates = SNDRV_PCM_RATE_KNOT; | 345 | runtime->hw.rates = snd_pcm_rate_to_rate_bit(chip->dig_rate); |
360 | for (i = 0; i < ARRAY_SIZE(ratebits); ++i) | ||
361 | if (chip->dig_rate == ratebits[i].rate) { | ||
362 | runtime->hw.rates = ratebits[i].bit; | ||
363 | break; | ||
364 | } | ||
365 | runtime->hw.rate_min = chip->dig_rate; | 346 | runtime->hw.rate_min = chip->dig_rate; |
366 | runtime->hw.rate_max = chip->dig_rate; | 347 | runtime->hw.rate_max = chip->dig_rate; |
367 | return 0; | 348 | return 0; |