struct timespec64 *audio_ts,
                struct snd_pcm_audio_tstamp_config *audio_tstamp_config,
                struct snd_pcm_audio_tstamp_report *audio_tstamp_report);
-       int (*copy_user)(struct snd_soc_component *component,
-                        struct snd_pcm_substream *substream, int channel,
-                        unsigned long pos, void __user *buf,
-                        unsigned long bytes);
        int (*copy)(struct snd_soc_component *component,
                    struct snd_pcm_substream *substream, int channel,
                    unsigned long pos, struct iov_iter *buf,
 int snd_soc_pcm_component_ioctl(struct snd_pcm_substream *substream,
                                unsigned int cmd, void *arg);
 int snd_soc_pcm_component_sync_stop(struct snd_pcm_substream *substream);
-int snd_soc_pcm_component_copy_user(struct snd_pcm_substream *substream,
-                                   int channel, unsigned long pos,
-                                   void __user *buf, unsigned long bytes);
 int snd_soc_pcm_component_copy(struct snd_pcm_substream *substream,
                               int channel, unsigned long pos,
                               struct iov_iter *buf, unsigned long bytes);
 
        return -EINVAL;
 }
 
-int snd_soc_pcm_component_copy_user(struct snd_pcm_substream *substream,
-                                   int channel, unsigned long pos,
-                                   void __user *buf, unsigned long bytes)
-{
-       struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
-       struct snd_soc_component *component;
-       int i;
-
-       /* FIXME. it returns 1st copy now */
-       for_each_rtd_components(rtd, i, component)
-               if (component->driver->copy_user)
-                       return soc_component_ret(
-                               component,
-                               component->driver->copy_user(
-                                       component, substream, channel,
-                                       pos, buf, bytes));
-
-       return -EINVAL;
-}
-
 struct page *snd_soc_pcm_component_page(struct snd_pcm_substream *substream,
                                        unsigned long offset)
 {
 
                        rtd->ops.sync_stop      = snd_soc_pcm_component_sync_stop;
                if (drv->copy)
                        rtd->ops.copy           = snd_soc_pcm_component_copy;
-               else if (drv->copy_user)
-                       rtd->ops.copy_user      = snd_soc_pcm_component_copy_user;
                if (drv->page)
                        rtd->ops.page           = snd_soc_pcm_component_page;
                if (drv->mmap)