[alsa-devel] [PATCH] ALSA: Remove transfer_ack_{begin, end} callbacks from struct snd_pcm_runtime
Takashi Iwai
tiwai at suse.de
Thu Oct 22 17:17:08 CEST 2015
On Thu, 22 Oct 2015 13:11:56 +0200,
Lars-Peter Clausen wrote:
>
> While there is nothing wrong with the transfer_ack_begin and
> transfer_ack_end callbacks per-se, the last documented user was part of the
> alsa-driver 0.5.12a package, which was released 14 years ago and even
> predates the upstream integration of the ALSA core and has subsequently
> been superseded by newer alsa-driver releases.
>
> This seems to indicate that there is no need for having these callbacks and
> they are just cruft that can be removed.
>
> Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>
Applied, thanks. Let's cross fingers.
Takashi
> ---
> Documentation/DocBook/writing-an-alsa-driver.tmpl | 19 ++-----------------
> include/sound/pcm.h | 4 ----
> sound/core/pcm_lib.c | 5 -----
> 3 files changed, 2 insertions(+), 26 deletions(-)
>
> diff --git a/Documentation/DocBook/writing-an-alsa-driver.tmpl b/Documentation/DocBook/writing-an-alsa-driver.tmpl
> index 84ef6a9..a27ab9f5 100644
> --- a/Documentation/DocBook/writing-an-alsa-driver.tmpl
> +++ b/Documentation/DocBook/writing-an-alsa-driver.tmpl
> @@ -2181,10 +2181,6 @@ struct _snd_pcm_runtime {
> struct snd_pcm_hardware hw;
> struct snd_pcm_hw_constraints hw_constraints;
>
> - /* -- interrupt callbacks -- */
> - void (*transfer_ack_begin)(struct snd_pcm_substream *substream);
> - void (*transfer_ack_end)(struct snd_pcm_substream *substream);
> -
> /* -- timer -- */
> unsigned int timer_resolution; /* timer resolution */
>
> @@ -2209,9 +2205,8 @@ struct _snd_pcm_runtime {
> For the operators (callbacks) of each sound driver, most of
> these records are supposed to be read-only. Only the PCM
> middle-layer changes / updates them. The exceptions are
> - the hardware description (hw), interrupt callbacks
> - (transfer_ack_xxx), DMA buffer information, and the private
> - data. Besides, if you use the standard buffer allocation
> + the hardware description (hw) DMA buffer information and the
> + private data. Besides, if you use the standard buffer allocation
> method via <function>snd_pcm_lib_malloc_pages()</function>,
> you don't need to set the DMA buffer information by yourself.
> </para>
> @@ -2538,16 +2533,6 @@ struct _snd_pcm_runtime {
> </para>
> </section>
>
> - <section id="pcm-interface-runtime-intr">
> - <title>Interrupt Callbacks</title>
> - <para>
> - The field <structfield>transfer_ack_begin</structfield> and
> - <structfield>transfer_ack_end</structfield> are called at
> - the beginning and at the end of
> - <function>snd_pcm_period_elapsed()</function>, respectively.
> - </para>
> - </section>
> -
> </section>
>
> <section id="pcm-interface-operators">
> diff --git a/include/sound/pcm.h b/include/sound/pcm.h
> index 2882ddd..3e0ffd2 100644
> --- a/include/sound/pcm.h
> +++ b/include/sound/pcm.h
> @@ -402,10 +402,6 @@ struct snd_pcm_runtime {
> struct snd_pcm_hardware hw;
> struct snd_pcm_hw_constraints hw_constraints;
>
> - /* -- interrupt callbacks -- */
> - void (*transfer_ack_begin)(struct snd_pcm_substream *substream);
> - void (*transfer_ack_end)(struct snd_pcm_substream *substream);
> -
> /* -- timer -- */
> unsigned int timer_resolution; /* timer resolution */
> int tstamp_type; /* timestamp type */
> diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
> index 6dc4277..05a3ca9 100644
> --- a/sound/core/pcm_lib.c
> +++ b/sound/core/pcm_lib.c
> @@ -1875,9 +1875,6 @@ void snd_pcm_period_elapsed(struct snd_pcm_substream *substream)
> return;
> runtime = substream->runtime;
>
> - if (runtime->transfer_ack_begin)
> - runtime->transfer_ack_begin(substream);
> -
> snd_pcm_stream_lock_irqsave(substream, flags);
> if (!snd_pcm_running(substream) ||
> snd_pcm_update_hw_ptr0(substream, 1) < 0)
> @@ -1889,8 +1886,6 @@ void snd_pcm_period_elapsed(struct snd_pcm_substream *substream)
> #endif
> _end:
> snd_pcm_stream_unlock_irqrestore(substream, flags);
> - if (runtime->transfer_ack_end)
> - runtime->transfer_ack_end(substream);
> kill_fasync(&runtime->fasync, SIGIO, POLL_IN);
> }
>
> --
> 2.1.4
>
>
More information about the Alsa-devel
mailing list