Update of /cvsroot/alsa/alsa-kernel/isa/cs423x In directory sc8-pr-cvs1:/tmp/cvs-serv30435/isa/cs423x
Modified Files: cs4231.c cs4236.c pc98.c Log Message: use the standard port address, 0 = disable, 1 = auto-probe, others manual. negative values are accepted as disable, too. Index: cs4231.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/isa/cs423x/cs4231.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- cs4231.c 14 Oct 2003 13:08:15 -0000 1.10 +++ cs4231.c 30 Oct 2003 14:21:08 -0000 1.11 @@ -103,8 +103,6 @@ if (card == NULL) return -ENOMEM; acard = (struct snd_card_cs4231 *)card->private_data; - if (mpu_port[dev] < 0) - mpu_port[dev] = SNDRV_AUTO_PORT; if ((err = snd_cs4231_create(card, port[dev], -1, irq[dev], dma1[dev], @@ -128,10 +126,13 @@ return err; } - if (mpu_irq[dev] >= 0 && mpu_irq[dev] != SNDRV_AUTO_IRQ) { + if (mpu_port[dev] > 0 && mpu_port[dev] != SNDRV_AUTO_PORT) { + if (mpu_irq[dev] == SNDRV_AUTO_IRQ) + mpu_irq[dev] = -1; if (snd_mpu401_uart_new(card, 0, MPU401_HW_CS4232, mpu_port[dev], 0, - mpu_irq[dev], SA_INTERRUPT, + mpu_irq[dev], + mpu_irq[dev] >= 0 ? SA_INTERRUPT : 0, NULL) < 0) printk(KERN_ERR "cs4231: MPU401 not detected\n"); } Index: cs4236.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/isa/cs423x/cs4236.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- cs4236.c 14 Oct 2003 13:08:15 -0000 1.37 +++ cs4236.c 30 Oct 2003 14:21:08 -0000 1.38 @@ -307,7 +307,7 @@ pnp_init_resource_table(cfg); if (port[dev] != SNDRV_AUTO_PORT) pnp_resource_change(&cfg->port_resource[0], port[dev], 4); - if (fm_port[dev] != SNDRV_AUTO_PORT && fm_port[dev] >= 0) + if (fm_port[dev] != SNDRV_AUTO_PORT && fm_port[dev] > 0) pnp_resource_change(&cfg->port_resource[1], fm_port[dev], 4); if (sb_port[dev] != SNDRV_AUTO_PORT) pnp_resource_change(&cfg->port_resource[2], sb_port[dev], 16); @@ -327,7 +327,7 @@ return -EBUSY; } port[dev] = pnp_port_start(pdev, 0); - if (fm_port[dev] >= 0) + if (fm_port[dev] > 0) fm_port[dev] = pnp_port_start(pdev, 1); sb_port[dev] = pnp_port_start(pdev, 2); irq[dev] = pnp_irq(pdev, 0); @@ -338,7 +338,7 @@ snd_printdd("isapnp WSS: irq=%i, dma1=%i, dma2=%i\n", irq[dev], dma1[dev], dma2[dev]); /* CTRL initialization */ - if (acard->ctrl && cport[dev] >= 0) { + if (acard->ctrl && cport[dev] > 0) { pdev = acard->ctrl; pnp_init_resource_table(cfg); if (cport[dev] != SNDRV_AUTO_PORT) @@ -356,12 +356,13 @@ snd_printdd("isapnp CTRL: control port=0x%lx\n", cport[dev]); } /* MPU initialization */ - if (acard->mpu && mpu_port[dev] >= 0) { + if (acard->mpu && mpu_port[dev] > 0) { pdev = acard->mpu; pnp_init_resource_table(cfg); if (mpu_port[dev] != SNDRV_AUTO_PORT) pnp_resource_change(&cfg->port_resource[0], mpu_port[dev], 2); - if (mpu_irq[dev] != SNDRV_AUTO_IRQ && mpu_irq[dev] >= 0) + if (mpu_irq[dev] != SNDRV_AUTO_IRQ && mpu_irq[dev] >= 0 && + pnp_irq_valid(pdev, 0)) pnp_resource_change(&cfg->irq_resource[0], mpu_irq[dev], 1); err = pnp_manual_config_dev(pdev, cfg, 0); if (err < 0) @@ -373,7 +374,8 @@ mpu_irq[dev] = SNDRV_AUTO_IRQ; } else { mpu_port[dev] = pnp_port_start(pdev, 0); - if (pnp_irq_valid(pdev, 0) && pnp_irq(pdev, 0) >= 0) { + if (mpu_irq[dev] >= 0 && + pnp_irq_valid(pdev, 0) && pnp_irq(pdev, 0) >= 0) { mpu_irq[dev] = pnp_irq(pdev, 0); } else { mpu_irq[dev] = -1; /* disable interrupt */ @@ -435,13 +437,7 @@ return -ENXIO; } #endif - if (mpu_port[dev] < 0) - mpu_port[dev] = SNDRV_AUTO_PORT; - if (fm_port[dev] < 0) - fm_port[dev] = SNDRV_AUTO_PORT; - if (sb_port[dev] < 0) - sb_port[dev] = SNDRV_AUTO_PORT; - if (sb_port[dev] != SNDRV_AUTO_PORT) + if (sb_port[dev] > 0 && sb_port[dev] != SNDRV_AUTO_PORT) if ((acard->res_sb_port = request_region(sb_port[dev], 16, IDENT " SB")) == NULL) { printk(KERN_ERR IDENT ": unable to register SB port at 0x%lx\n", sb_port[dev]); snd_card_free(card); @@ -498,7 +494,7 @@ return err; } - if (fm_port[dev] != SNDRV_AUTO_PORT) { + if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) { if (snd_opl3_create(card, fm_port[dev], fm_port[dev] + 2, OPL3_HW_OPL3_CS, 0, &opl3) < 0) { @@ -511,7 +507,9 @@ } } - if (mpu_port[dev] != SNDRV_AUTO_PORT) { + if (mpu_port[dev] > 0 && mpu_port[dev] != SNDRV_AUTO_PORT) { + if (mpu_irq[dev] == SNDRV_AUTO_IRQ) + mpu_irq[dev] = -1; if (snd_mpu401_uart_new(card, 0, MPU401_HW_CS4232, mpu_port[dev], 0, mpu_irq[dev], Index: pc98.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/isa/cs423x/pc98.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- pc98.c 14 Oct 2003 13:08:15 -0000 1.6 +++ pc98.c 30 Oct 2003 14:21:08 -0000 1.7 @@ -327,10 +327,6 @@ card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); if (card == NULL) return -ENOMEM; - if (mpu_port[dev] < 0 || mpu_irq[dev] < 0) - mpu_port[dev] = SNDRV_AUTO_PORT; - if (fm_port[dev] < 0) - fm_port[dev] = SNDRV_AUTO_PORT; if ((err = pc98_cs4231_chip_init(dev)) < 0) { snd_card_free(card); @@ -363,7 +359,7 @@ return err; } - if (fm_port[dev] != SNDRV_AUTO_PORT) { + if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) { /* ??? */ outb(0x00, fm_port[dev] + 6); inb(fm_port[dev] + 7); @@ -381,7 +377,7 @@ } } - if (mpu_port[dev] != SNDRV_AUTO_PORT) { + if (mpu_port[dev] > 0 && mpu_port[dev] != SNDRV_AUTO_PORT) { err = pc98_mpu401_init(mpu_irq[dev]); if (! err) { err = snd_mpu401_uart_new(card, 0, ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog