spin_unlock_irqrestore(&ff->lock, flags);
 }
 
-static struct snd_rawmidi_ops midi_capture_ops = {
-       .open           = midi_capture_open,
-       .close          = midi_capture_close,
-       .trigger        = midi_capture_trigger,
-};
-
-static struct snd_rawmidi_ops midi_playback_ops = {
-       .open           = midi_playback_open,
-       .close          = midi_playback_close,
-       .trigger        = midi_playback_trigger,
-};
-
 static void set_midi_substream_names(struct snd_rawmidi_str *stream,
                                     const char *const name)
 {
 
 int snd_ff_create_midi_devices(struct snd_ff *ff)
 {
+       static const struct snd_rawmidi_ops midi_capture_ops = {
+               .open           = midi_capture_open,
+               .close          = midi_capture_close,
+               .trigger        = midi_capture_trigger,
+       };
+       static const struct snd_rawmidi_ops midi_playback_ops = {
+               .open           = midi_playback_open,
+               .close          = midi_playback_close,
+               .trigger        = midi_playback_trigger,
+       };
        struct snd_rawmidi *rmidi;
        struct snd_rawmidi_str *stream;
        int err;
 
        return amdtp_stream_pcm_ack(&ff->rx_stream);
 }
 
-static struct snd_pcm_ops pcm_capture_ops = {
-       .open           = pcm_open,
-       .close          = pcm_close,
-       .ioctl          = snd_pcm_lib_ioctl,
-       .hw_params      = pcm_capture_hw_params,
-       .hw_free        = pcm_capture_hw_free,
-       .prepare        = pcm_capture_prepare,
-       .trigger        = pcm_capture_trigger,
-       .pointer        = pcm_capture_pointer,
-       .ack            = pcm_capture_ack,
-       .page           = snd_pcm_lib_get_vmalloc_page,
-};
-
-static struct snd_pcm_ops pcm_playback_ops = {
-       .open           = pcm_open,
-       .close          = pcm_close,
-       .ioctl          = snd_pcm_lib_ioctl,
-       .hw_params      = pcm_playback_hw_params,
-       .hw_free        = pcm_playback_hw_free,
-       .prepare        = pcm_playback_prepare,
-       .trigger        = pcm_playback_trigger,
-       .pointer        = pcm_playback_pointer,
-       .ack            = pcm_playback_ack,
-       .page           = snd_pcm_lib_get_vmalloc_page,
-       .mmap           = snd_pcm_lib_mmap_vmalloc,
-};
-
 int snd_ff_create_pcm_devices(struct snd_ff *ff)
 {
+       static const struct snd_pcm_ops pcm_capture_ops = {
+               .open           = pcm_open,
+               .close          = pcm_close,
+               .ioctl          = snd_pcm_lib_ioctl,
+               .hw_params      = pcm_capture_hw_params,
+               .hw_free        = pcm_capture_hw_free,
+               .prepare        = pcm_capture_prepare,
+               .trigger        = pcm_capture_trigger,
+               .pointer        = pcm_capture_pointer,
+               .ack            = pcm_capture_ack,
+               .page           = snd_pcm_lib_get_vmalloc_page,
+       };
+       static const struct snd_pcm_ops pcm_playback_ops = {
+               .open           = pcm_open,
+               .close          = pcm_close,
+               .ioctl          = snd_pcm_lib_ioctl,
+               .hw_params      = pcm_playback_hw_params,
+               .hw_free        = pcm_playback_hw_free,
+               .prepare        = pcm_playback_prepare,
+               .trigger        = pcm_playback_trigger,
+               .pointer        = pcm_playback_pointer,
+               .ack            = pcm_playback_ack,
+               .page           = snd_pcm_lib_get_vmalloc_page,
+               .mmap           = snd_pcm_lib_mmap_vmalloc,
+       };
        struct snd_pcm *pcm;
        int err;