ALSA: pcm: Drop the old copy and silence ops
authorTakashi Iwai <tiwai@suse.de>
Wed, 10 May 2017 20:21:52 +0000 (22:21 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 2 Jun 2017 17:38:19 +0000 (19:38 +0200)
Now that all users of old copy and silence ops have been converted to
the new PCM ops, the old stuff can be retired and go away.

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/pcm.h
sound/core/pcm_lib.c
sound/soc/soc-pcm.c

index 86b126be49a27ca081d811b58a1108b32ec0bed1..0da5117636eca1b604f420ebd5a81ec851d75ce7 100644 (file)
@@ -78,11 +78,6 @@ struct snd_pcm_ops {
                        struct timespec *system_ts, struct timespec *audio_ts,
                        struct snd_pcm_audio_tstamp_config *audio_tstamp_config,
                        struct snd_pcm_audio_tstamp_report *audio_tstamp_report);
-       int (*copy)(struct snd_pcm_substream *substream, int channel,
-                   snd_pcm_uframes_t pos,
-                   void __user *buf, snd_pcm_uframes_t count);
-       int (*silence)(struct snd_pcm_substream *substream, int channel, 
-                      snd_pcm_uframes_t pos, snd_pcm_uframes_t count);
        int (*fill_silence)(struct snd_pcm_substream *substream, int channel,
                            unsigned long pos, unsigned long bytes);
        int (*copy_user)(struct snd_pcm_substream *substream, int channel,
index 1fca1ffd235e106f81f3c3f0334f1b489c4d6046..9c5fe62e2c51fcfa11cc64e2f3d67ee34c1be340 100644 (file)
@@ -118,9 +118,6 @@ void snd_pcm_playback_silence(struct snd_pcm_substream *substream, snd_pcm_ufram
                                                                   frames_to_bytes(runtime, ofs),
                                                                   frames_to_bytes(runtime, transfer));
                                snd_BUG_ON(err < 0);
-                       } else if (substream->ops->silence) {
-                               err = substream->ops->silence(substream, -1, ofs, transfer);
-                               snd_BUG_ON(err < 0);
                        } else {
                                hwbuf = runtime->dma_area + frames_to_bytes(runtime, ofs);
                                snd_pcm_format_set_silence(runtime->format, hwbuf, transfer * runtime->channels);
@@ -135,11 +132,6 @@ void snd_pcm_playback_silence(struct snd_pcm_substream *substream, snd_pcm_ufram
                                                                           samples_to_bytes(runtime, transfer));
                                        snd_BUG_ON(err < 0);
                                }
-                       } else if (substream->ops->silence) {
-                               for (c = 0; c < channels; ++c) {
-                                       err = substream->ops->silence(substream, c, ofs, transfer);
-                                       snd_BUG_ON(err < 0);
-                               }
                        } else {
                                size_t dma_csize = runtime->dma_bytes / channels;
                                for (c = 0; c < channels; ++c) {
@@ -2015,9 +2007,6 @@ static int snd_pcm_lib_write_transfer(struct snd_pcm_substream *substream,
                err = substream->ops->copy_user(substream, 0, hwoff, buf, frames);
                if (err < 0)
                        return err;
-       } else if (substream->ops->copy) {
-               if ((err = substream->ops->copy(substream, -1, hwoff, buf, frames)) < 0)
-                       return err;
        } else {
                char *hwbuf = runtime->dma_area + frames_to_bytes(runtime, hwoff);
                if (copy_from_user(hwbuf, buf, frames_to_bytes(runtime, frames)))
@@ -2139,8 +2128,7 @@ static int pcm_sanity_check(struct snd_pcm_substream *substream)
        if (PCM_RUNTIME_CHECK(substream))
                return -ENXIO;
        runtime = substream->runtime;
-       if (snd_BUG_ON(!substream->ops->copy_user && !substream->ops->copy
-                      && !runtime->dma_area))
+       if (snd_BUG_ON(!substream->ops->copy_user && !runtime->dma_area))
                return -EINVAL;
        if (runtime->status->state == SNDRV_PCM_STATE_OPEN)
                return -EBADFD;
@@ -2200,19 +2188,6 @@ static int snd_pcm_lib_writev_transfer(struct snd_pcm_substream *substream,
                        if (err < 0)
                                return err;
                }
-       } else if (substream->ops->copy) {
-               if (snd_BUG_ON(!substream->ops->silence))
-                       return -EINVAL;
-               for (c = 0; c < channels; ++c, ++bufs) {
-                       if (*bufs == NULL) {
-                               if ((err = substream->ops->silence(substream, c, hwoff, frames)) < 0)
-                                       return err;
-                       } else {
-                               buf = *bufs + samples_to_bytes(runtime, off);
-                               if ((err = substream->ops->copy(substream, c, hwoff, buf, frames)) < 0)
-                                       return err;
-                       }
-               }
        } else {
                /* default transfer behaviour */
                size_t dma_csize = runtime->dma_bytes / channels;
@@ -2266,9 +2241,6 @@ static int snd_pcm_lib_read_transfer(struct snd_pcm_substream *substream,
                err = substream->ops->copy_user(substream, 0, hwoff, buf, frames);
                if (err < 0)
                        return err;
-       } else if (substream->ops->copy) {
-               if ((err = substream->ops->copy(substream, -1, hwoff, buf, frames)) < 0)
-                       return err;
        } else {
                char *hwbuf = runtime->dma_area + frames_to_bytes(runtime, hwoff);
                if (copy_to_user(buf, hwbuf, frames_to_bytes(runtime, frames)))
@@ -2430,14 +2402,6 @@ static int snd_pcm_lib_readv_transfer(struct snd_pcm_substream *substream,
                        if (err < 0)
                                return err;
                }
-       } else if (substream->ops->copy) {
-               for (c = 0; c < channels; ++c, ++bufs) {
-                       if (*bufs == NULL)
-                               continue;
-                       buf = *bufs + samples_to_bytes(runtime, off);
-                       if ((err = substream->ops->copy(substream, c, hwoff, buf, frames)) < 0)
-                               return err;
-               }
        } else {
                snd_pcm_uframes_t dma_csize = runtime->dma_bytes / channels;
                for (c = 0; c < channels; ++c, ++bufs) {
index 8867ed9e5f5633eddbe131477d5e997df0a48d20..dcc5ece0866832bbb11e353b1ac0b797e48b1065 100644 (file)
@@ -2746,8 +2746,6 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num)
                rtd->ops.copy_user      = platform->driver->ops->copy_user;
                rtd->ops.copy_kernel    = platform->driver->ops->copy_kernel;
                rtd->ops.fill_silence   = platform->driver->ops->fill_silence;
-               rtd->ops.copy           = platform->driver->ops->copy;
-               rtd->ops.silence        = platform->driver->ops->silence;
                rtd->ops.page           = platform->driver->ops->page;
                rtd->ops.mmap           = platform->driver->ops->mmap;
        }