[ALSA] usb-audio: merge playback/capture hardware information structs
The hardware information structures for playback and capture streams, respectively, are the same, so we can use just one structure for both streams. 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
9f4bd5dde8
commit
1700f3080d
@@ -1511,21 +1511,7 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct snd_pcm_hardware snd_usb_playback =
|
static struct snd_pcm_hardware snd_usb_hardware =
|
||||||
{
|
|
||||||
.info = SNDRV_PCM_INFO_MMAP |
|
|
||||||
SNDRV_PCM_INFO_MMAP_VALID |
|
|
||||||
SNDRV_PCM_INFO_BATCH |
|
|
||||||
SNDRV_PCM_INFO_INTERLEAVED |
|
|
||||||
SNDRV_PCM_INFO_BLOCK_TRANSFER,
|
|
||||||
.buffer_bytes_max = 1024 * 1024,
|
|
||||||
.period_bytes_min = 64,
|
|
||||||
.period_bytes_max = 512 * 1024,
|
|
||||||
.periods_min = 2,
|
|
||||||
.periods_max = 1024,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct snd_pcm_hardware snd_usb_capture =
|
|
||||||
{
|
{
|
||||||
.info = SNDRV_PCM_INFO_MMAP |
|
.info = SNDRV_PCM_INFO_MMAP |
|
||||||
SNDRV_PCM_INFO_MMAP_VALID |
|
SNDRV_PCM_INFO_MMAP_VALID |
|
||||||
@@ -1904,8 +1890,7 @@ static int setup_hw_info(struct snd_pcm_runtime *runtime, struct snd_usb_substre
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int snd_usb_pcm_open(struct snd_pcm_substream *substream, int direction,
|
static int snd_usb_pcm_open(struct snd_pcm_substream *substream, int direction)
|
||||||
struct snd_pcm_hardware *hw)
|
|
||||||
{
|
{
|
||||||
struct snd_usb_stream *as = snd_pcm_substream_chip(substream);
|
struct snd_usb_stream *as = snd_pcm_substream_chip(substream);
|
||||||
struct snd_pcm_runtime *runtime = substream->runtime;
|
struct snd_pcm_runtime *runtime = substream->runtime;
|
||||||
@@ -1913,7 +1898,7 @@ static int snd_usb_pcm_open(struct snd_pcm_substream *substream, int direction,
|
|||||||
|
|
||||||
subs->interface = -1;
|
subs->interface = -1;
|
||||||
subs->format = 0;
|
subs->format = 0;
|
||||||
runtime->hw = *hw;
|
runtime->hw = snd_usb_hardware;
|
||||||
runtime->private_data = subs;
|
runtime->private_data = subs;
|
||||||
subs->pcm_substream = substream;
|
subs->pcm_substream = substream;
|
||||||
return setup_hw_info(runtime, subs);
|
return setup_hw_info(runtime, subs);
|
||||||
@@ -1934,7 +1919,7 @@ static int snd_usb_pcm_close(struct snd_pcm_substream *substream, int direction)
|
|||||||
|
|
||||||
static int snd_usb_playback_open(struct snd_pcm_substream *substream)
|
static int snd_usb_playback_open(struct snd_pcm_substream *substream)
|
||||||
{
|
{
|
||||||
return snd_usb_pcm_open(substream, SNDRV_PCM_STREAM_PLAYBACK, &snd_usb_playback);
|
return snd_usb_pcm_open(substream, SNDRV_PCM_STREAM_PLAYBACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int snd_usb_playback_close(struct snd_pcm_substream *substream)
|
static int snd_usb_playback_close(struct snd_pcm_substream *substream)
|
||||||
@@ -1944,7 +1929,7 @@ static int snd_usb_playback_close(struct snd_pcm_substream *substream)
|
|||||||
|
|
||||||
static int snd_usb_capture_open(struct snd_pcm_substream *substream)
|
static int snd_usb_capture_open(struct snd_pcm_substream *substream)
|
||||||
{
|
{
|
||||||
return snd_usb_pcm_open(substream, SNDRV_PCM_STREAM_CAPTURE, &snd_usb_capture);
|
return snd_usb_pcm_open(substream, SNDRV_PCM_STREAM_CAPTURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int snd_usb_capture_close(struct snd_pcm_substream *substream)
|
static int snd_usb_capture_close(struct snd_pcm_substream *substream)
|
||||||
|
Reference in New Issue
Block a user