diff options
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; |