Ignore:
Timestamp:
Jul 14, 2007, 7:13:46 AM (18 years ago)
Author:
Brendan Oakley
Message:

Merged to Alsa 0.9.0rc5

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified GPL/branches/alsa-resync1/alsa-kernel/isa/cs423x/cs4236.c

    r210 r212  
    8585#endif
    8686
    87 static int snd_index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;  /* Index 0-MAX */
    88 static char *snd_id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;   /* ID for this card */
    89 static int snd_enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_ISAPNP; /* Enable this card */
     87static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;      /* Index 0-MAX */
     88static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;       /* ID for this card */
     89static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_ISAPNP; /* Enable this card */
    9090#ifdef __ISAPNP__
    9191#ifdef TARGET_OS2
    92 static int snd_isapnp[SNDRV_CARDS] = {1,1,1,1,1,1,1,1};
     92static int isapnp[SNDRV_CARDS] = {1,1,1,1,1,1,1,1};
    9393#else
    94 static int snd_isapnp[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1};
    95 #endif
    96 #endif
    97 static long snd_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* PnP setup */
    98 static long snd_cport[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;        /* PnP setup */
    99 static long snd_mpu_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;/* PnP setup */
    100 static long snd_fm_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;      /* PnP setup */
    101 static long snd_sb_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;      /* PnP setup */
    102 static int snd_irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ;    /* 5,7,9,11,12,15 */
    103 static int snd_mpu_irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ;        /* 9,11,12,15 */
    104 static int snd_dma1[SNDRV_CARDS] = SNDRV_DEFAULT_DMA;   /* 0,1,3,5,6,7 */
    105 static int snd_dma2[SNDRV_CARDS] = SNDRV_DEFAULT_DMA;   /* 0,1,3,5,6,7 */
    106 
    107 MODULE_PARM(snd_index, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
    108 MODULE_PARM_DESC(snd_index, "Index value for " IDENT " soundcard.");
    109 MODULE_PARM_SYNTAX(snd_index, SNDRV_INDEX_DESC);
    110 MODULE_PARM(snd_id, "1-" __MODULE_STRING(SNDRV_CARDS) "s");
    111 MODULE_PARM_DESC(snd_id, "ID string for " IDENT " soundcard.");
    112 MODULE_PARM_SYNTAX(snd_id, SNDRV_ID_DESC);
    113 MODULE_PARM(snd_enable, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
    114 MODULE_PARM_DESC(snd_enable, "Enable " IDENT " soundcard.");
    115 MODULE_PARM_SYNTAX(snd_enable, SNDRV_ENABLE_DESC);
    116 #ifdef __ISAPNP__
    117 MODULE_PARM(snd_isapnp, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
    118 MODULE_PARM_DESC(snd_isapnp, "ISA PnP detection for specified soundcard.");
    119 MODULE_PARM_SYNTAX(snd_isapnp, SNDRV_ISAPNP_DESC);
    120 #endif
    121 MODULE_PARM(snd_port, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
    122 MODULE_PARM_DESC(snd_port, "Port # for " IDENT " driver.");
    123 MODULE_PARM_SYNTAX(snd_port, SNDRV_PORT12_DESC);
    124 MODULE_PARM(snd_cport, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
    125 MODULE_PARM_DESC(snd_cport, "Control port # for " IDENT " driver.");
    126 MODULE_PARM_SYNTAX(snd_cport, SNDRV_PORT12_DESC);
    127 MODULE_PARM(snd_mpu_port, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
    128 MODULE_PARM_DESC(snd_mpu_port, "MPU-401 port # for " IDENT " driver.");
    129 MODULE_PARM_SYNTAX(snd_mpu_port, SNDRV_PORT12_DESC);
    130 MODULE_PARM(snd_fm_port, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
    131 MODULE_PARM_DESC(snd_fm_port, "FM port # for " IDENT " driver.");
    132 MODULE_PARM_SYNTAX(snd_fm_port, SNDRV_PORT12_DESC);
    133 MODULE_PARM(snd_sb_port, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
    134 MODULE_PARM_DESC(snd_sb_port, "SB port # for " IDENT " driver (optional).");
    135 MODULE_PARM_SYNTAX(snd_sb_port, SNDRV_PORT12_DESC);
    136 MODULE_PARM(snd_irq, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
    137 MODULE_PARM_DESC(snd_irq, "IRQ # for " IDENT " driver.");
    138 MODULE_PARM_SYNTAX(snd_irq, SNDRV_IRQ_DESC);
    139 MODULE_PARM(snd_mpu_irq, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
    140 MODULE_PARM_DESC(snd_mpu_irq, "MPU-401 IRQ # for " IDENT " driver.");
    141 MODULE_PARM_SYNTAX(snd_mpu_irq, SNDRV_IRQ_DESC);
    142 MODULE_PARM(snd_dma1, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
    143 MODULE_PARM_DESC(snd_dma1, "DMA1 # for " IDENT " driver.");
    144 MODULE_PARM_SYNTAX(snd_dma1, SNDRV_DMA_DESC);
    145 MODULE_PARM(snd_dma2, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
    146 MODULE_PARM_DESC(snd_dma2, "DMA2 # for " IDENT " driver.");
    147 MODULE_PARM_SYNTAX(snd_dma2, SNDRV_DMA_DESC);
     94static int isapnp[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1};
     95#endif
     96#endif
     97static long port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;     /* PnP setup */
     98static long cport[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;    /* PnP setup */
     99static long mpu_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;/* PnP setup */
     100static long fm_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;  /* PnP setup */
     101static long sb_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;  /* PnP setup */
     102static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ;        /* 5,7,9,11,12,15 */
     103static int mpu_irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ;    /* 9,11,12,15 */
     104static int dma1[SNDRV_CARDS] = SNDRV_DEFAULT_DMA;       /* 0,1,3,5,6,7 */
     105static int dma2[SNDRV_CARDS] = SNDRV_DEFAULT_DMA;       /* 0,1,3,5,6,7 */
     106
     107MODULE_PARM(index, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
     108MODULE_PARM_DESC(index, "Index value for " IDENT " soundcard.");
     109MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC);
     110MODULE_PARM(id, "1-" __MODULE_STRING(SNDRV_CARDS) "s");
     111MODULE_PARM_DESC(id, "ID string for " IDENT " soundcard.");
     112MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC);
     113MODULE_PARM(enable, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
     114MODULE_PARM_DESC(enable, "Enable " IDENT " soundcard.");
     115MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC);
     116#ifdef __ISAPNP__
     117MODULE_PARM(isapnp, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
     118MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard.");
     119MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC);
     120#endif
     121MODULE_PARM(port, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
     122MODULE_PARM_DESC(port, "Port # for " IDENT " driver.");
     123MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC);
     124MODULE_PARM(cport, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
     125MODULE_PARM_DESC(cport, "Control port # for " IDENT " driver.");
     126MODULE_PARM_SYNTAX(cport, SNDRV_PORT12_DESC);
     127MODULE_PARM(mpu_port, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
     128MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " IDENT " driver.");
     129MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC);
     130MODULE_PARM(fm_port, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
     131MODULE_PARM_DESC(fm_port, "FM port # for " IDENT " driver.");
     132MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC);
     133MODULE_PARM(sb_port, "1-" __MODULE_STRING(SNDRV_CARDS) "l");
     134MODULE_PARM_DESC(sb_port, "SB port # for " IDENT " driver (optional).");
     135MODULE_PARM_SYNTAX(sb_port, SNDRV_PORT12_DESC);
     136MODULE_PARM(irq, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
     137MODULE_PARM_DESC(irq, "IRQ # for " IDENT " driver.");
     138MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC);
     139MODULE_PARM(mpu_irq, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
     140MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " IDENT " driver.");
     141MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC);
     142MODULE_PARM(dma1, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
     143MODULE_PARM_DESC(dma1, "DMA1 # for " IDENT " driver.");
     144MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC);
     145MODULE_PARM(dma2, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
     146MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver.");
     147MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC);
    148148
    149149struct snd_card_cs4236 {
     
    332332        if (pdev->prepare(pdev) < 0)
    333333                return -EAGAIN;
    334         if (snd_port[dev] != SNDRV_AUTO_PORT)
    335                 isapnp_resource_change(&pdev->resource[0], snd_port[dev], 4);
    336         if (snd_fm_port[dev] != SNDRV_AUTO_PORT && snd_fm_port[dev] >= 0)
    337                 isapnp_resource_change(&pdev->resource[1], snd_fm_port[dev], 4);
    338         if (snd_sb_port[dev] != SNDRV_AUTO_PORT)
    339                 isapnp_resource_change(&pdev->resource[2], snd_sb_port[dev], 16);
    340         if (snd_irq[dev] != SNDRV_AUTO_IRQ)
    341                 isapnp_resource_change(&pdev->irq_resource[0], snd_irq[dev], 1);
    342         if (snd_dma1[dev] != SNDRV_AUTO_DMA)
    343                 isapnp_resource_change(&pdev->dma_resource[0], snd_dma1[dev], 1);
    344         if (snd_dma2[dev] != SNDRV_AUTO_DMA)
    345                 isapnp_resource_change(&pdev->dma_resource[1], snd_dma2[dev] < 0 ? 4 : snd_dma2[dev], 1);
     334        if (port[dev] != SNDRV_AUTO_PORT)
     335                isapnp_resource_change(&pdev->resource[0], port[dev], 4);
     336        if (fm_port[dev] != SNDRV_AUTO_PORT && fm_port[dev] >= 0)
     337                isapnp_resource_change(&pdev->resource[1], fm_port[dev], 4);
     338        if (sb_port[dev] != SNDRV_AUTO_PORT)
     339                isapnp_resource_change(&pdev->resource[2], sb_port[dev], 16);
     340        if (irq[dev] != SNDRV_AUTO_IRQ)
     341                isapnp_resource_change(&pdev->irq_resource[0], irq[dev], 1);
     342        if (dma1[dev] != SNDRV_AUTO_DMA)
     343                isapnp_resource_change(&pdev->dma_resource[0], dma1[dev], 1);
     344        if (dma2[dev] != SNDRV_AUTO_DMA)
     345                isapnp_resource_change(&pdev->dma_resource[1], dma2[dev] < 0 ? 4 : dma2[dev], 1);
    346346        if (pdev->activate(pdev)<0) {
    347347                printk(KERN_ERR IDENT " isapnp configure failed for WSS (out of resources?)\n");
    348348                return -EBUSY;
    349349        }
    350         snd_port[dev] = pdev->resource[0].start;
    351         if (snd_fm_port[dev] >= 0)
    352                 snd_fm_port[dev] = pdev->resource[1].start;
    353         snd_sb_port[dev] = pdev->resource[2].start;
    354         snd_irq[dev] = pdev->irq_resource[0].start;
    355         snd_dma1[dev] = pdev->dma_resource[0].start;
    356         snd_dma2[dev] = pdev->dma_resource[1].start == 4 ? -1 : pdev->dma_resource[1].start;
     350        port[dev] = pdev->resource[0].start;
     351        if (fm_port[dev] >= 0)
     352                fm_port[dev] = pdev->resource[1].start;
     353        sb_port[dev] = pdev->resource[2].start;
     354        irq[dev] = pdev->irq_resource[0].start;
     355        dma1[dev] = pdev->dma_resource[0].start;
     356        dma2[dev] = pdev->dma_resource[1].start == 4 ? -1 : pdev->dma_resource[1].start;
    357357        snd_printdd("isapnp WSS: wss port=0x%lx, fm port=0x%lx, sb port=0x%lx\n",
    358                         snd_port[dev], snd_fm_port[dev], snd_sb_port[dev]);
     358                        port[dev], fm_port[dev], sb_port[dev]);
    359359        snd_printdd("isapnp WSS: irq=%i, dma1=%i, dma2=%i\n",
    360                         snd_irq[dev], snd_dma1[dev], snd_dma2[dev]);
     360                        irq[dev], dma1[dev], dma2[dev]);
    361361        /* CTRL initialization */
    362         if (acard->ctrl && snd_cport[dev] >= 0) {
     362        if (acard->ctrl && cport[dev] >= 0) {
    363363        pdev = acard->ctrl;
    364364        if (pdev->prepare(pdev) < 0) {
     
    366366                return -EAGAIN;
    367367        }
    368         if (snd_cport[dev] != SNDRV_AUTO_PORT)
    369                 isapnp_resource_change(&pdev->resource[0], snd_cport[dev], 8);
     368                if (cport[dev] != SNDRV_AUTO_PORT)
     369                        isapnp_resource_change(&pdev->resource[0], cport[dev], 8);
    370370        if (pdev->activate(pdev)<0) {
    371371                printk(KERN_ERR IDENT " isapnp configure failed for control (out of resources?)\n");
     
    373373                return -EBUSY;
    374374        }
    375         snd_cport[dev] = pdev->resource[0].start;
    376         snd_printdd("isapnp CTRL: control port=0x%lx\n", snd_cport[dev]);
     375                cport[dev] = pdev->resource[0].start;
     376                snd_printdd("isapnp CTRL: control port=0x%lx\n", cport[dev]);
    377377        }
    378378        /* MPU initialization */
    379         if (acard->mpu && snd_mpu_port[dev] >= 0) {
     379        if (acard->mpu && mpu_port[dev] >= 0) {
    380380                pdev = acard->mpu;
    381381                if (pdev->prepare(pdev) < 0) {
     
    384384                        return -EAGAIN;
    385385                }
    386                 if (snd_mpu_port[dev] != SNDRV_AUTO_PORT)
    387                         isapnp_resource_change(&pdev->resource[0], snd_mpu_port[dev], 2);
    388                 if (snd_mpu_irq[dev] != SNDRV_AUTO_IRQ && snd_mpu_irq[dev] >= 0)
    389                         isapnp_resource_change(&pdev->irq_resource[0], snd_mpu_irq[dev], 1);
     386                if (mpu_port[dev] != SNDRV_AUTO_PORT)
     387                        isapnp_resource_change(&pdev->resource[0], mpu_port[dev], 2);
     388                if (mpu_irq[dev] != SNDRV_AUTO_IRQ && mpu_irq[dev] >= 0)
     389                        isapnp_resource_change(&pdev->irq_resource[0], mpu_irq[dev], 1);
    390390                if (pdev->activate(pdev)<0) {
    391                         snd_mpu_port[dev] = SNDRV_AUTO_PORT;
    392                         snd_mpu_irq[dev] = SNDRV_AUTO_IRQ;
     391                        mpu_port[dev] = SNDRV_AUTO_PORT;
     392                        mpu_irq[dev] = SNDRV_AUTO_IRQ;
    393393                        printk(KERN_ERR IDENT " isapnp configure failed for MPU (out of resources?)\n");
    394394                } else {
    395                         snd_mpu_port[dev] = pdev->resource[0].start;
     395                        mpu_port[dev] = pdev->resource[0].start;
    396396                        if ((pdev->irq_resource[0].flags & IORESOURCE_IRQ) &&
    397                             snd_mpu_irq[dev] >= 0) {
    398                                 snd_mpu_irq[dev] = pdev->irq_resource[0].start;
     397                            mpu_irq[dev] >= 0) {
     398                                mpu_irq[dev] = pdev->irq_resource[0].start;
    399399                        } else {
    400                                 snd_mpu_irq[dev] = -1;  /* disable interrupt */
     400                                mpu_irq[dev] = -1;      /* disable interrupt */
    401401                        }
    402402                }
    403                 snd_printdd("isapnp MPU: port=0x%lx, irq=%i\n", snd_mpu_port[dev], snd_mpu_irq[dev]);
     403                snd_printdd("isapnp MPU: port=0x%lx, irq=%i\n", mpu_port[dev], mpu_irq[dev]);
    404404        }
    405405        return 0;
     
    448448
    449449#ifdef __ISAPNP__
    450         if (!snd_isapnp[dev]) {
    451 #endif
    452                 if (snd_port[dev] == SNDRV_AUTO_PORT) {
    453                         snd_printk("specify snd_port\n");
     450        if (!isapnp[dev]) {
     451#endif
     452                if (port[dev] == SNDRV_AUTO_PORT) {
     453                        snd_printk("specify port\n");
    454454                        return -EINVAL;
    455455                }
    456                 if (snd_cport[dev] == SNDRV_AUTO_PORT) {
    457                         snd_printk("specify snd_cport\n");
     456                if (cport[dev] == SNDRV_AUTO_PORT) {
     457                        snd_printk("specify cport\n");
    458458                        return -EINVAL;
    459459                }
     
    461461        }
    462462#endif
    463         card = snd_card_new(snd_index[dev], snd_id[dev], THIS_MODULE,
     463        card = snd_card_new(index[dev], id[dev], THIS_MODULE,
    464464                            sizeof(struct snd_card_cs4236));
    465465        if (card == NULL)
     
    468468        card->private_free = snd_card_cs4236_free;
    469469#ifdef __ISAPNP__
    470         if (snd_isapnp[dev] && (err = snd_card_cs4236_isapnp(dev, acard))<0) {
     470        if (isapnp[dev] && (err = snd_card_cs4236_isapnp(dev, acard))<0) {
    471471                printk(KERN_ERR "isapnp detection failed and probing for " IDENT " is not supported\n");
    472472                snd_card_free(card);
     
    474474        }
    475475#endif
    476         if (snd_mpu_port[dev] < 0)
    477                 snd_mpu_port[dev] = SNDRV_AUTO_PORT;
    478         if (snd_fm_port[dev] < 0)
    479                 snd_fm_port[dev] = SNDRV_AUTO_PORT;
    480         if (snd_sb_port[dev] < 0)
    481                 snd_sb_port[dev] = SNDRV_AUTO_PORT;
    482         if (snd_sb_port[dev] != SNDRV_AUTO_PORT)
    483                 if ((acard->res_sb_port = request_region(snd_sb_port[dev], 16, IDENT " SB")) == NULL) {
    484                         printk(KERN_ERR IDENT ": unable to register SB port at 0x%lx\n", snd_sb_port[dev]);
     476        if (mpu_port[dev] < 0)
     477                mpu_port[dev] = SNDRV_AUTO_PORT;
     478        if (fm_port[dev] < 0)
     479                fm_port[dev] = SNDRV_AUTO_PORT;
     480        if (sb_port[dev] < 0)
     481                sb_port[dev] = SNDRV_AUTO_PORT;
     482        if (sb_port[dev] != SNDRV_AUTO_PORT)
     483                if ((acard->res_sb_port = request_region(sb_port[dev], 16, IDENT " SB")) == NULL) {
     484                        printk(KERN_ERR IDENT ": unable to register SB port at 0x%lx\n", sb_port[dev]);
    485485                        snd_card_free(card);
    486486                        return -ENOMEM;
     
    489489#ifdef CS4232
    490490        if ((err = snd_cs4231_create(card,
    491                                      snd_port[dev],
    492                                      snd_cport[dev],
    493                                      snd_irq[dev],
    494                                      snd_dma1[dev],
    495                                      snd_dma2[dev],
     491                                     port[dev],
     492                                     cport[dev],
     493                                     irq[dev],
     494                                     dma1[dev],
     495                                     dma2[dev],
    496496                                     CS4231_HW_DETECT,
    497497                                     0,
     
    511511#else /* CS4236 */
    512512        if ((err = snd_cs4236_create(card,
    513                                      snd_port[dev],
    514                                      snd_cport[dev],
    515                                      snd_irq[dev],
    516                                      snd_dma1[dev],
    517                                      snd_dma2[dev],
     513                                     port[dev],
     514                                     cport[dev],
     515                                     irq[dev],
     516                                     dma1[dev],
     517                                     dma2[dev],
    518518                                     CS4231_HW_DETECT,
    519519                                     0,
     
    537537        }
    538538
    539         if (snd_fm_port[dev] != SNDRV_AUTO_PORT) {
     539        if (fm_port[dev] != SNDRV_AUTO_PORT) {
    540540                if (snd_opl3_create(card,
    541                                     snd_fm_port[dev], snd_fm_port[dev] + 2,
     541                                    fm_port[dev], fm_port[dev] + 2,
    542542                                    OPL3_HW_OPL3_CS, 0, &opl3) < 0) {
    543543                        printk(KERN_ERR IDENT ": OPL3 not detected\n");
     
    550550        }
    551551
    552         if (snd_mpu_port[dev] != SNDRV_AUTO_PORT) {
     552        if (mpu_port[dev] != SNDRV_AUTO_PORT) {
    553553                if (snd_mpu401_uart_new(card, 0, MPU401_HW_CS4232,
    554                                         snd_mpu_port[dev], 0,
    555                                         snd_mpu_irq[dev],
    556                                         snd_mpu_irq[dev] >= 0 ? SA_INTERRUPT : 0, NULL) < 0)
     554                                        mpu_port[dev], 0,
     555                                        mpu_irq[dev],
     556                                        mpu_irq[dev] >= 0 ? SA_INTERRUPT : 0, NULL) < 0)
    557557                        printk(KERN_ERR IDENT ": MPU401 not detected\n");
    558558        }
     
    562562                pcm->name,
    563563                chip->port,
    564                 snd_irq[dev],
    565                 snd_dma1[dev]);
    566         if (snd_dma1[dev] >= 0)
    567                 sprintf(card->longname + strlen(card->longname), "&%d", snd_dma2[dev]);
     564                irq[dev],
     565                dma1[dev]);
     566        if (dma1[dev] >= 0)
     567                sprintf(card->longname + strlen(card->longname), "&%d", dma2[dev]);
    568568        if ((err = snd_card_register(card)) < 0) {
    569569                snd_card_free(card);
     
    582582
    583583        for ( ; dev < SNDRV_CARDS; dev++) {
    584                 if (!snd_enable[dev])
     584                if (!enable[dev])
    585585                        continue;
    586586                snd_cs4236_isapnp_cards[dev] = card;
     
    601601
    602602        for (dev = 0; dev < SNDRV_CARDS; dev++) {
    603                 if (!snd_enable[dev])
     603                if (!enable[dev])
    604604                        continue;
    605605#ifdef __ISAPNP__
    606                 if (snd_isapnp[dev])
     606                if (isapnp[dev])
    607607                        continue;
    608608#endif
     
    635635#ifndef MODULE
    636636
    637 /* format is: snd-cs4232=snd_enable,snd_index,snd_id,snd_isapnp,snd_port,
    638                               snd_cport,snd_mpu_port,snd_fm_port,snd_sb_port,
    639                               snd_irq,snd_mpu_irq,snd_dma1,snd_dma1_size,
    640                               snd_dma2,snd_dma2_size */
    641 /* format is: snd-cs4236=snd_enable,snd_index,snd_id,snd_isapnp,snd_port,
    642                               snd_cport,snd_mpu_port,snd_fm_port,snd_sb_port,
    643                               snd_irq,snd_mpu_irq,snd_dma1,snd_dma1_size,
    644                               snd_dma2,snd_dma2_size */
     637/* format is: snd-cs4232=enable,index,id,isapnp,port,
     638                         cport,mpu_port,fm_port,sb_port,
     639                         irq,mpu_irq,dma1,dma1_size,
     640                         dma2,dma2_size */
     641/* format is: snd-cs4236=enable,index,id,isapnp,port,
     642                         cport,mpu_port,fm_port,sb_port,
     643                         irq,mpu_irq,dma1,dma1_size,
     644                         dma2,dma2_size */
    645645
    646646static int __init alsa_card_cs423x_setup(char *str)
     
    651651        if (nr_dev >= SNDRV_CARDS)
    652652                return 0;
    653         (void)(get_option(&str,&snd_enable[nr_dev]) == 2 &&
    654                get_option(&str,&snd_index[nr_dev]) == 2 &&
    655                get_id(&str,&snd_id[nr_dev]) == 2 &&
     653        (void)(get_option(&str,&enable[nr_dev]) == 2 &&
     654               get_option(&str,&index[nr_dev]) == 2 &&
     655               get_id(&str,&id[nr_dev]) == 2 &&
    656656               get_option(&str,&pnp) == 2 &&
    657                get_option(&str,(int *)&snd_port[nr_dev]) == 2 &&
    658                get_option(&str,(int *)&snd_cport[nr_dev]) == 2 &&
    659                get_option(&str,(int *)&snd_mpu_port[nr_dev]) == 2 &&
    660                get_option(&str,(int *)&snd_fm_port[nr_dev]) == 2 &&
    661                get_option(&str,(int *)&snd_sb_port[nr_dev]) == 2 &&
    662                get_option(&str,&snd_irq[nr_dev]) == 2 &&
    663                get_option(&str,&snd_mpu_irq[nr_dev]) == 2 &&
    664                get_option(&str,&snd_dma1[nr_dev]) == 2 &&
    665                get_option(&str,&snd_dma2[nr_dev]) == 2);
     657               get_option(&str,(int *)&port[nr_dev]) == 2 &&
     658               get_option(&str,(int *)&cport[nr_dev]) == 2 &&
     659               get_option(&str,(int *)&mpu_port[nr_dev]) == 2 &&
     660               get_option(&str,(int *)&fm_port[nr_dev]) == 2 &&
     661               get_option(&str,(int *)&sb_port[nr_dev]) == 2 &&
     662               get_option(&str,&irq[nr_dev]) == 2 &&
     663               get_option(&str,&mpu_irq[nr_dev]) == 2 &&
     664               get_option(&str,&dma1[nr_dev]) == 2 &&
     665               get_option(&str,&dma2[nr_dev]) == 2);
    666666#ifdef __ISAPNP__
    667667        if (pnp != INT_MAX)
    668                 snd_isapnp[nr_dev] = pnp;
     668                isapnp[nr_dev] = pnp;
    669669#endif
    670670        nr_dev++;
Note: See TracChangeset for help on using the changeset viewer.