Skip to content

Commit

Permalink
ALSA: line6: Make common PCM pointer callback
Browse files Browse the repository at this point in the history
Both playback and capture callbacks are identical, so let's merge
them.

Tested-by: Chris Rorvick <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
tiwai committed Jan 28, 2015
1 parent 63e20df commit 2954f91
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 20 deletions.
11 changes: 1 addition & 10 deletions sound/usb/line6/capture.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,15 +231,6 @@ static int snd_line6_capture_close(struct snd_pcm_substream *substream)
return 0;
}

/* capture pointer callback */
static snd_pcm_uframes_t
snd_line6_capture_pointer(struct snd_pcm_substream *substream)
{
struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream);

return line6pcm->in.pos_done;
}

/* capture operators */
struct snd_pcm_ops snd_line6_capture_ops = {
.open = snd_line6_capture_open,
Expand All @@ -249,7 +240,7 @@ struct snd_pcm_ops snd_line6_capture_ops = {
.hw_free = snd_line6_hw_free,
.prepare = snd_line6_prepare,
.trigger = snd_line6_trigger,
.pointer = snd_line6_capture_pointer,
.pointer = snd_line6_pointer,
};

int line6_create_audio_in_urbs(struct snd_line6_pcm *line6pcm)
Expand Down
9 changes: 9 additions & 0 deletions sound/usb/line6/pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,15 @@ int snd_line6_trigger(struct snd_pcm_substream *substream, int cmd)
return 0;
}

/* common PCM pointer callback */
snd_pcm_uframes_t snd_line6_pointer(struct snd_pcm_substream *substream)
{
struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream);
struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);

return pstr->pos_done;
}

/* Acquire and start duplex streams:
* type is either LINE6_STREAM_IMPULSE or LINE6_STREAM_MONITOR
*/
Expand Down
1 change: 1 addition & 0 deletions sound/usb/line6/pcm.h
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ extern int snd_line6_prepare(struct snd_pcm_substream *substream);
extern int snd_line6_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *hw_params);
extern int snd_line6_hw_free(struct snd_pcm_substream *substream);
extern snd_pcm_uframes_t snd_line6_pointer(struct snd_pcm_substream *substream);
extern void line6_pcm_disconnect(struct snd_line6_pcm *line6pcm);
extern int line6_pcm_acquire(struct snd_line6_pcm *line6pcm, int type);
extern void line6_pcm_release(struct snd_line6_pcm *line6pcm, int type);
Expand Down
11 changes: 1 addition & 10 deletions sound/usb/line6/playback.c
Original file line number Diff line number Diff line change
Expand Up @@ -380,15 +380,6 @@ static int snd_line6_playback_close(struct snd_pcm_substream *substream)
return 0;
}

/* playback pointer callback */
static snd_pcm_uframes_t
snd_line6_playback_pointer(struct snd_pcm_substream *substream)
{
struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream);

return line6pcm->out.pos_done;
}

/* playback operators */
struct snd_pcm_ops snd_line6_playback_ops = {
.open = snd_line6_playback_open,
Expand All @@ -398,7 +389,7 @@ struct snd_pcm_ops snd_line6_playback_ops = {
.hw_free = snd_line6_hw_free,
.prepare = snd_line6_prepare,
.trigger = snd_line6_trigger,
.pointer = snd_line6_playback_pointer,
.pointer = snd_line6_pointer,
};

int line6_create_audio_out_urbs(struct snd_line6_pcm *line6pcm)
Expand Down

0 comments on commit 2954f91

Please sign in to comment.