ALSA: Remove transfer_ack_{begin,end} callbacks from struct snd_pcm_runtime
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 22 Oct 2015 11:11:56 +0000 (13:11 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 22 Oct 2015 15:16:23 +0000 (17:16 +0200)
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@metafoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Documentation/DocBook/writing-an-alsa-driver.tmpl
include/sound/pcm.h
sound/core/pcm_lib.c

index 84ef6a90131c2ea44410f9f3c53f6b56a499bfe5..a27ab9f53fb68a62652bff8ed847322a838cd41d 100644 (file)
@@ -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">
index 2882dddfc91cfb957e7b988a016e7e8086f0d674..3e0ffd21901f6c7c14b2a3e9f9f4069b5ccd5a3c 100644 (file)
@@ -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 */
index 6dc4277937b8bebb2ba092306f54b24828e1882c..05a3ca93c6474b3fa120f20c25403439bb469d1c 100644 (file)
@@ -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);
 }