ALSA: pcm: Drop obsoleted PCM copy_user and copy_kernel ops
Finally all users have been converted to the new PCM copy ops, let's drop the obsoleted copy_kernel and copy_user ops completely. Link: https://lore.kernel.org/r/20230815190136.8987-26-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
205d3e030a
Коммит
6c0217b110
|
@ -71,11 +71,6 @@ struct snd_pcm_ops {
|
|||
unsigned long pos, unsigned long bytes);
|
||||
int (*copy)(struct snd_pcm_substream *substream, int channel,
|
||||
unsigned long pos, struct iov_iter *iter, unsigned long bytes);
|
||||
int (*copy_user)(struct snd_pcm_substream *substream, int channel,
|
||||
unsigned long pos, void __user *buf,
|
||||
unsigned long bytes);
|
||||
int (*copy_kernel)(struct snd_pcm_substream *substream, int channel,
|
||||
unsigned long pos, void *buf, unsigned long bytes);
|
||||
struct page *(*page)(struct snd_pcm_substream *substream,
|
||||
unsigned long offset);
|
||||
int (*mmap)(struct snd_pcm_substream *substream, struct vm_area_struct *vma);
|
||||
|
|
|
@ -2031,19 +2031,6 @@ static int default_read_copy(struct snd_pcm_substream *substream,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* a wrapper for calling old copy_kernel or copy_user ops */
|
||||
static int call_old_copy(struct snd_pcm_substream *substream,
|
||||
int channel, unsigned long hwoff,
|
||||
struct iov_iter *iter, unsigned long bytes)
|
||||
{
|
||||
if (iov_iter_is_kvec(iter))
|
||||
return substream->ops->copy_kernel(substream, channel, hwoff,
|
||||
iter_iov_addr(iter), bytes);
|
||||
else
|
||||
return substream->ops->copy_user(substream, channel, hwoff,
|
||||
iter_iov_addr(iter), bytes);
|
||||
}
|
||||
|
||||
/* call transfer with the filled iov_iter */
|
||||
static int do_transfer(struct snd_pcm_substream *substream, int c,
|
||||
unsigned long hwoff, void *data, unsigned long bytes,
|
||||
|
@ -2147,7 +2134,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 && !substream->ops->copy_user && !runtime->dma_area))
|
||||
if (snd_BUG_ON(!substream->ops->copy && !runtime->dma_area))
|
||||
return -EINVAL;
|
||||
if (runtime->state == SNDRV_PCM_STATE_OPEN)
|
||||
return -EBADFD;
|
||||
|
@ -2255,9 +2242,6 @@ snd_pcm_sframes_t __snd_pcm_lib_xfer(struct snd_pcm_substream *substream,
|
|||
} else {
|
||||
if (substream->ops->copy)
|
||||
transfer = substream->ops->copy;
|
||||
else if ((in_kernel && substream->ops->copy_kernel) ||
|
||||
(!in_kernel && substream->ops->copy_user))
|
||||
transfer = call_old_copy;
|
||||
else
|
||||
transfer = is_playback ?
|
||||
default_write_copy : default_read_copy;
|
||||
|
|
|
@ -809,7 +809,7 @@ static int snd_pcm_hw_params(struct snd_pcm_substream *substream,
|
|||
runtime->boundary *= 2;
|
||||
|
||||
/* clear the buffer for avoiding possible kernel info leaks */
|
||||
if (runtime->dma_area && !substream->ops->copy && !substream->ops->copy_user) {
|
||||
if (runtime->dma_area && !substream->ops->copy) {
|
||||
size_t size = runtime->dma_bytes;
|
||||
|
||||
if (runtime->info & SNDRV_PCM_INFO_MMAP)
|
||||
|
|
Загрузка…
Ссылка в новой задаче