/* gus_pcm.c */
 
-int snd_gf1_pcm_new(struct snd_gus_card * gus, int pcm_dev, int control_index, struct snd_pcm ** rpcm);
+int snd_gf1_pcm_new(struct snd_gus_card *gus, int pcm_dev, int control_index);
 
 #ifdef CONFIG_SND_DEBUG
 extern void snd_gf1_print_voice_registers(struct snd_gus_card * gus);
 
 /* gus_uart.c */
 
-int snd_gf1_rawmidi_new(struct snd_gus_card * gus, int device, struct snd_rawmidi **rrawmidi);
+int snd_gf1_rawmidi_new(struct snd_gus_card *gus, int device);
 
 /* gus_dram.c */
 int snd_gus_dram_write(struct snd_gus_card *gus, char __user *ptr,
 
        .pointer =      snd_gf1_pcm_capture_pointer,
 };
 
-int snd_gf1_pcm_new(struct snd_gus_card * gus, int pcm_dev, int control_index, struct snd_pcm ** rpcm)
+int snd_gf1_pcm_new(struct snd_gus_card *gus, int pcm_dev, int control_index)
 {
        struct snd_card *card;
        struct snd_kcontrol *kctl;
        struct snd_pcm_substream *substream;
        int capture, err;
 
-       if (rpcm)
-               *rpcm = NULL;
        card = gus->card;
        capture = !gus->interwave && !gus->ess_flag && !gus->ace_flag ? 1 : 0;
        err = snd_pcm_new(card,
                return err;
        kctl->id.index = control_index;
 
-       if (rpcm)
-               *rpcm = pcm;
        return 0;
 }
 
 
        .trigger =      snd_gf1_uart_input_trigger,
 };
 
-int snd_gf1_rawmidi_new(struct snd_gus_card * gus, int device, struct snd_rawmidi ** rrawmidi)
+int snd_gf1_rawmidi_new(struct snd_gus_card *gus, int device)
 {
        struct snd_rawmidi *rmidi;
        int err;
 
-       if (rrawmidi)
-               *rrawmidi = NULL;
        if ((err = snd_rawmidi_new(gus->card, "GF1", device, 1, 1, &rmidi)) < 0)
                return err;
        strcpy(rmidi->name, gus->interwave ? "AMD InterWave" : "GF1");
        rmidi->info_flags |= SNDRV_RAWMIDI_INFO_OUTPUT | SNDRV_RAWMIDI_INFO_INPUT | SNDRV_RAWMIDI_INFO_DUPLEX;
        rmidi->private_data = gus;
        gus->midi_uart = rmidi;
-       if (rrawmidi)
-               *rrawmidi = rmidi;
        return err;
 }
 
        if (error < 0)
                goto out;
 
-       error = snd_gf1_pcm_new(gus, 0, 0, NULL);
+       error = snd_gf1_pcm_new(gus, 0, 0);
        if (error < 0)
                goto out;
 
        if (!gus->ace_flag) {
-               error = snd_gf1_rawmidi_new(gus, 0, NULL);
+               error = snd_gf1_rawmidi_new(gus, 0);
                if (error < 0)
                        goto out;
        }
 
        snd_component_add(card, "ES1688");
 
        if (pcm_channels[n] > 0) {
-               error = snd_gf1_pcm_new(gus, 1, 1, NULL);
+               error = snd_gf1_pcm_new(gus, 1, 1);
                if (error < 0)
                        goto out;
        }
 
                goto _err;
 
        if (pcm_channels[dev] > 0) {
-               if ((err = snd_gf1_pcm_new(gus, 1, 1, NULL)) < 0)
+               if ((err = snd_gf1_pcm_new(gus, 1, 1)) < 0)
                        goto _err;
        }
        err = snd_gusmax_mixer(wss);
        if (err < 0)
                goto _err;
 
-       err = snd_gf1_rawmidi_new(gus, 0, NULL);
+       err = snd_gf1_rawmidi_new(gus, 0);
        if (err < 0)
                goto _err;
 
 
                return err;
 
        if (pcm_channels[dev] > 0) {
-               err = snd_gf1_pcm_new(gus, 1, 1, NULL);
+               err = snd_gf1_pcm_new(gus, 1, 1);
                if (err < 0)
                        return err;
        }
 #endif
 
        gus->uart_enable = midi[dev];
-       if ((err = snd_gf1_rawmidi_new(gus, 0, NULL)) < 0)
+       if ((err = snd_gf1_rawmidi_new(gus, 0)) < 0)
                return err;
 
 #ifndef SNDRV_STB