aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/wavefront
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/wavefront')
-rw-r--r--sound/isa/wavefront/wavefront.c61
1 files changed, 31 insertions, 30 deletions
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index 2fb058b5a45f..4c095bc7c729 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * ALSA card-level driver for Turtle Beach Wavefront cards 2 * ALSA card-level driver for Turtle Beach Wavefront cards
3 * (Maui,Tropez,Tropez+) 3 * (Maui,Tropez,Tropez+)
4 * 4 *
5 * Copyright (c) 1997-1999 by Paul Barton-Davis <pbd@op.net> 5 * Copyright (c) 1997-1999 by Paul Barton-Davis <pbd@op.net>
6 * 6 *
@@ -320,8 +320,8 @@ snd_wavefront_new_midi (struct snd_card *card,
320 snd_rawmidi_set_ops(rmidi, SNDRV_RAWMIDI_STREAM_INPUT, &snd_wavefront_midi_input); 320 snd_rawmidi_set_ops(rmidi, SNDRV_RAWMIDI_STREAM_INPUT, &snd_wavefront_midi_input);
321 321
322 rmidi->info_flags |= SNDRV_RAWMIDI_INFO_OUTPUT | 322 rmidi->info_flags |= SNDRV_RAWMIDI_INFO_OUTPUT |
323 SNDRV_RAWMIDI_INFO_INPUT | 323 SNDRV_RAWMIDI_INFO_INPUT |
324 SNDRV_RAWMIDI_INFO_DUPLEX; 324 SNDRV_RAWMIDI_INFO_DUPLEX;
325 325
326 return rmidi; 326 return rmidi;
327} 327}
@@ -364,7 +364,7 @@ static int __devinit
364snd_wavefront_probe (struct snd_card *card, int dev) 364snd_wavefront_probe (struct snd_card *card, int dev)
365{ 365{
366 snd_wavefront_card_t *acard = card->private_data; 366 snd_wavefront_card_t *acard = card->private_data;
367 struct snd_cs4231 *chip; 367 struct snd_wss *chip;
368 struct snd_hwdep *wavefront_synth; 368 struct snd_hwdep *wavefront_synth;
369 struct snd_rawmidi *ics2115_internal_rmidi = NULL; 369 struct snd_rawmidi *ics2115_internal_rmidi = NULL;
370 struct snd_rawmidi *ics2115_external_rmidi = NULL; 370 struct snd_rawmidi *ics2115_external_rmidi = NULL;
@@ -373,21 +373,20 @@ snd_wavefront_probe (struct snd_card *card, int dev)
373 373
374 /* --------- PCM --------------- */ 374 /* --------- PCM --------------- */
375 375
376 if ((err = snd_cs4231_create (card, 376 err = snd_wss_create(card, cs4232_pcm_port[dev], -1,
377 cs4232_pcm_port[dev], 377 cs4232_pcm_irq[dev], dma1[dev], dma2[dev],
378 -1, 378 WSS_HW_DETECT, 0, &chip);
379 cs4232_pcm_irq[dev], 379 if (err < 0) {
380 dma1[dev], 380 snd_printk(KERN_ERR "can't allocate WSS device\n");
381 dma2[dev],
382 CS4231_HW_DETECT, 0, &chip)) < 0) {
383 snd_printk (KERN_ERR "can't allocate CS4231 device\n");
384 return err; 381 return err;
385 } 382 }
386 383
387 if ((err = snd_cs4231_pcm (chip, 0, NULL)) < 0) 384 err = snd_wss_pcm(chip, 0, NULL);
385 if (err < 0)
388 return err; 386 return err;
389 387
390 if ((err = snd_cs4231_timer (chip, 0, NULL)) < 0) 388 err = snd_wss_timer(chip, 0, NULL);
389 if (err < 0)
391 return err; 390 return err;
392 391
393 /* ---------- OPL3 synth --------- */ 392 /* ---------- OPL3 synth --------- */
@@ -395,24 +394,24 @@ snd_wavefront_probe (struct snd_card *card, int dev)
395 if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) { 394 if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) {
396 struct snd_opl3 *opl3; 395 struct snd_opl3 *opl3;
397 396
398 if ((err = snd_opl3_create(card, 397 err = snd_opl3_create(card, fm_port[dev], fm_port[dev] + 2,
399 fm_port[dev], 398 OPL3_HW_OPL3_CS, 0, &opl3);
400 fm_port[dev] + 2, 399 if (err < 0) {
401 OPL3_HW_OPL3_CS,
402 0, &opl3)) < 0) {
403 snd_printk (KERN_ERR "can't allocate or detect OPL3 synth\n"); 400 snd_printk (KERN_ERR "can't allocate or detect OPL3 synth\n");
404 return err; 401 return err;
405 } 402 }
406 403
407 if ((err = snd_opl3_hwdep_new(opl3, hw_dev, 1, NULL)) < 0) 404 err = snd_opl3_hwdep_new(opl3, hw_dev, 1, NULL);
405 if (err < 0)
408 return err; 406 return err;
409 hw_dev++; 407 hw_dev++;
410 } 408 }
411 409
412 /* ------- ICS2115 Wavetable synth ------- */ 410 /* ------- ICS2115 Wavetable synth ------- */
413 411
414 if ((acard->wavefront.res_base = request_region(ics2115_port[dev], 16, 412 acard->wavefront.res_base = request_region(ics2115_port[dev], 16,
415 "ICS2115")) == NULL) { 413 "ICS2115");
414 if (acard->wavefront.res_base == NULL) {
416 snd_printk(KERN_ERR "unable to grab ICS2115 i/o region 0x%lx-0x%lx\n", 415 snd_printk(KERN_ERR "unable to grab ICS2115 i/o region 0x%lx-0x%lx\n",
417 ics2115_port[dev], ics2115_port[dev] + 16 - 1); 416 ics2115_port[dev], ics2115_port[dev] + 16 - 1);
418 return -EBUSY; 417 return -EBUSY;
@@ -426,7 +425,8 @@ snd_wavefront_probe (struct snd_card *card, int dev)
426 acard->wavefront.irq = ics2115_irq[dev]; 425 acard->wavefront.irq = ics2115_irq[dev];
427 acard->wavefront.base = ics2115_port[dev]; 426 acard->wavefront.base = ics2115_port[dev];
428 427
429 if ((wavefront_synth = snd_wavefront_new_synth (card, hw_dev, acard)) == NULL) { 428 wavefront_synth = snd_wavefront_new_synth(card, hw_dev, acard);
429 if (wavefront_synth == NULL) {
430 snd_printk (KERN_ERR "can't create WaveFront synth device\n"); 430 snd_printk (KERN_ERR "can't create WaveFront synth device\n");
431 return -ENOMEM; 431 return -ENOMEM;
432 } 432 }
@@ -437,7 +437,8 @@ snd_wavefront_probe (struct snd_card *card, int dev)
437 437
438 /* --------- Mixer ------------ */ 438 /* --------- Mixer ------------ */
439 439
440 if ((err = snd_cs4231_mixer(chip)) < 0) { 440 err = snd_wss_mixer(chip);
441 if (err < 0) {
441 snd_printk (KERN_ERR "can't allocate mixer device\n"); 442 snd_printk (KERN_ERR "can't allocate mixer device\n");
442 return err; 443 return err;
443 } 444 }
@@ -445,11 +446,11 @@ snd_wavefront_probe (struct snd_card *card, int dev)
445 /* -------- CS4232 MPU-401 interface -------- */ 446 /* -------- CS4232 MPU-401 interface -------- */
446 447
447 if (cs4232_mpu_port[dev] > 0 && cs4232_mpu_port[dev] != SNDRV_AUTO_PORT) { 448 if (cs4232_mpu_port[dev] > 0 && cs4232_mpu_port[dev] != SNDRV_AUTO_PORT) {
448 if ((err = snd_mpu401_uart_new(card, midi_dev, MPU401_HW_CS4232, 449 err = snd_mpu401_uart_new(card, midi_dev, MPU401_HW_CS4232,
449 cs4232_mpu_port[dev], 0, 450 cs4232_mpu_port[dev], 0,
450 cs4232_mpu_irq[dev], 451 cs4232_mpu_irq[dev], IRQF_DISABLED,
451 IRQF_DISABLED, 452 NULL);
452 NULL)) < 0) { 453 if (err < 0) {
453 snd_printk (KERN_ERR "can't allocate CS4232 MPU-401 device\n"); 454 snd_printk (KERN_ERR "can't allocate CS4232 MPU-401 device\n");
454 return err; 455 return err;
455 } 456 }
@@ -602,7 +603,7 @@ static struct isa_driver snd_wavefront_driver = {
602 603
603#ifdef CONFIG_PNP 604#ifdef CONFIG_PNP
604static int __devinit snd_wavefront_pnp_detect(struct pnp_card_link *pcard, 605static int __devinit snd_wavefront_pnp_detect(struct pnp_card_link *pcard,
605 const struct pnp_card_device_id *pid) 606 const struct pnp_card_device_id *pid)
606{ 607{
607 static int dev; 608 static int dev;
608 struct snd_card *card; 609 struct snd_card *card;