aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/gus
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/gus')
-rw-r--r--sound/isa/gus/gus_synth.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/sound/isa/gus/gus_synth.c b/sound/isa/gus/gus_synth.c
index 6464488363e4..85a1b051f09a 100644
--- a/sound/isa/gus/gus_synth.c
+++ b/sound/isa/gus/gus_synth.c
@@ -214,7 +214,6 @@ static int snd_gus_synth_new_device(struct snd_seq_device *dev)
214{ 214{
215 struct snd_gus_card *gus; 215 struct snd_gus_card *gus;
216 int client, i; 216 int client, i;
217 struct snd_seq_client_info *cinfo;
218 struct snd_seq_port_subscribe sub; 217 struct snd_seq_port_subscribe sub;
219 struct snd_iwffff_ops *iwops; 218 struct snd_iwffff_ops *iwops;
220 struct snd_gf1_ops *gf1ops; 219 struct snd_gf1_ops *gf1ops;
@@ -227,25 +226,12 @@ static int snd_gus_synth_new_device(struct snd_seq_device *dev)
227 init_MUTEX(&gus->register_mutex); 226 init_MUTEX(&gus->register_mutex);
228 gus->gf1.seq_client = -1; 227 gus->gf1.seq_client = -1;
229 228
230 cinfo = kmalloc(sizeof(*cinfo), GFP_KERNEL);
231 if (! cinfo)
232 return -ENOMEM;
233
234 /* allocate new client */ 229 /* allocate new client */
235 client = gus->gf1.seq_client = 230 client = gus->gf1.seq_client =
236 snd_seq_create_kernel_client(gus->card, 1); 231 snd_seq_create_kernel_client(gus->card, 1, gus->interwave ?
237 if (client < 0) { 232 "AMD InterWave" : "GF1");
238 kfree(cinfo); 233 if (client < 0)
239 return client; 234 return client;
240 }
241
242 /* change name of client */
243 memset(cinfo, 0, sizeof(*cinfo));
244 cinfo->client = client;
245 cinfo->type = KERNEL_CLIENT;
246 sprintf(cinfo->name, gus->interwave ? "AMD InterWave" : "GF1");
247 snd_seq_kernel_client_ctl(client, SNDRV_SEQ_IOCTL_SET_CLIENT_INFO, cinfo);
248 kfree(cinfo);
249 235
250 for (i = 0; i < 4; i++) 236 for (i = 0; i < 4; i++)
251 snd_gus_synth_create_port(gus, i); 237 snd_gus_synth_create_port(gus, i);