}
 
 static int dummy_pcm_copy(struct snd_pcm_substream *substream,
-                         int channel, snd_pcm_uframes_t pos,
-                         void __user *dst, snd_pcm_uframes_t count)
+                         int channel, unsigned long pos,
+                         void __user *dst, unsigned long bytes)
+{
+       return 0; /* do nothing */
+}
+
+static int dummy_pcm_copy_kernel(struct snd_pcm_substream *substream,
+                                int channel, unsigned long pos,
+                                void *dst, unsigned long bytes)
 {
        return 0; /* do nothing */
 }
 
 static int dummy_pcm_silence(struct snd_pcm_substream *substream,
-                            int channel, snd_pcm_uframes_t pos,
-                            snd_pcm_uframes_t count)
+                            int channel, unsigned long pos,
+                            unsigned long bytes)
 {
        return 0; /* do nothing */
 }
        .prepare =      dummy_pcm_prepare,
        .trigger =      dummy_pcm_trigger,
        .pointer =      dummy_pcm_pointer,
-       .copy =         dummy_pcm_copy,
-       .silence =      dummy_pcm_silence,
+       .copy_user =    dummy_pcm_copy,
+       .copy_kernel =  dummy_pcm_copy_kernel,
+       .fill_silence = dummy_pcm_silence,
        .page =         dummy_pcm_page,
 };