[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>
This commit is contained in:

committed by
Jaroslav Kysela

parent
7653d55760
commit
918f3a0e8c
@@ -258,19 +258,6 @@ static inline unsigned int snd_rme32_pcm_byteptr(struct rme32 * rme32)
|
||||
& RME32_RCR_AUDIO_ADDR_MASK);
|
||||
}
|
||||
|
||||
static int snd_rme32_ratecode(int rate)
|
||||
{
|
||||
switch (rate) {
|
||||
case 32000: return SNDRV_PCM_RATE_32000;
|
||||
case 44100: return SNDRV_PCM_RATE_44100;
|
||||
case 48000: return SNDRV_PCM_RATE_48000;
|
||||
case 64000: return SNDRV_PCM_RATE_64000;
|
||||
case 88200: return SNDRV_PCM_RATE_88200;
|
||||
case 96000: return SNDRV_PCM_RATE_96000;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* silence callback for halfduplex mode */
|
||||
static int snd_rme32_playback_silence(struct snd_pcm_substream *substream, int channel, /* not used (interleaved data) */
|
||||
snd_pcm_uframes_t pos,
|
||||
@@ -887,7 +874,7 @@ static int snd_rme32_playback_spdif_open(struct snd_pcm_substream *substream)
|
||||
if ((rme32->rcreg & RME32_RCR_KMODE) &&
|
||||
(rate = snd_rme32_capture_getrate(rme32, &dummy)) > 0) {
|
||||
/* AutoSync */
|
||||
runtime->hw.rates = snd_rme32_ratecode(rate);
|
||||
runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
|
||||
runtime->hw.rate_min = rate;
|
||||
runtime->hw.rate_max = rate;
|
||||
}
|
||||
@@ -929,7 +916,7 @@ static int snd_rme32_capture_spdif_open(struct snd_pcm_substream *substream)
|
||||
if (isadat) {
|
||||
return -EIO;
|
||||
}
|
||||
runtime->hw.rates = snd_rme32_ratecode(rate);
|
||||
runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
|
||||
runtime->hw.rate_min = rate;
|
||||
runtime->hw.rate_max = rate;
|
||||
}
|
||||
@@ -965,7 +952,7 @@ snd_rme32_playback_adat_open(struct snd_pcm_substream *substream)
|
||||
if ((rme32->rcreg & RME32_RCR_KMODE) &&
|
||||
(rate = snd_rme32_capture_getrate(rme32, &dummy)) > 0) {
|
||||
/* AutoSync */
|
||||
runtime->hw.rates = snd_rme32_ratecode(rate);
|
||||
runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
|
||||
runtime->hw.rate_min = rate;
|
||||
runtime->hw.rate_max = rate;
|
||||
}
|
||||
@@ -989,7 +976,7 @@ snd_rme32_capture_adat_open(struct snd_pcm_substream *substream)
|
||||
if (!isadat) {
|
||||
return -EIO;
|
||||
}
|
||||
runtime->hw.rates = snd_rme32_ratecode(rate);
|
||||
runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
|
||||
runtime->hw.rate_min = rate;
|
||||
runtime->hw.rate_max = rate;
|
||||
}
|
||||
|
Reference in New Issue
Block a user