This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / sound / pci / mixart / mixart.c
index 32a728f..9dff42a 100644 (file)
@@ -47,12 +47,13 @@ MODULE_SUPPORTED_DEVICE("{{Digigram," CARD_NAME "}}");
 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;             /* Index 0-MAX */
 static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;              /* ID for this card */
 static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;     /* Enable this card */
+static int boot_devs;
 
-module_param_array(index, int, NULL, 0444);
+module_param_array(index, int, boot_devs, 0444);
 MODULE_PARM_DESC(index, "Index value for Digigram " CARD_NAME " soundcard.");
-module_param_array(id, charp, NULL, 0444);
+module_param_array(id, charp, boot_devs, 0444);
 MODULE_PARM_DESC(id, "ID string for Digigram " CARD_NAME " soundcard.");
-module_param_array(enable, bool, NULL, 0444);
+module_param_array(enable, bool, boot_devs, 0444);
 MODULE_PARM_DESC(enable, "Enable Digigram " CARD_NAME " soundcard.");
 
 /*
@@ -1077,7 +1078,7 @@ static int snd_mixart_free(mixart_mgr_t *mgr)
        /* release the i/o ports */
        for (i = 0; i < 2; i++) {
                if (mgr->mem[i].virt)
-                       iounmap(mgr->mem[i].virt);
+                       iounmap((void *)mgr->mem[i].virt);
        }
        pci_release_regions(mgr->pci);
 
@@ -1092,7 +1093,6 @@ static int snd_mixart_free(mixart_mgr_t *mgr)
                mgr->bufferinfo.area = NULL;
        }
 
-       pci_disable_device(mgr->pci);
        kfree(mgr);
        return 0;
 }
@@ -1293,17 +1293,14 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci,
        /* check if we can restrict PCI DMA transfers to 32 bits */
        if (pci_set_dma_mask(pci, 0xffffffff) < 0) {
                snd_printk(KERN_ERR "architecture does not support 32bit PCI busmaster DMA\n");
-               pci_disable_device(pci);
                return -ENXIO;
        }
 
        /*
         */
        mgr = kcalloc(1, sizeof(*mgr), GFP_KERNEL);
-       if (! mgr) {
-               pci_disable_device(pci);
+       if (! mgr)
                return -ENOMEM;
-       }
 
        mgr->pci = pci;
        mgr->irq = -1;
@@ -1311,13 +1308,12 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci,
        /* resource assignment */
        if ((err = pci_request_regions(pci, CARD_NAME)) < 0) {
                kfree(mgr);
-               pci_disable_device(pci);
                return err;
        }
        for (i = 0; i < 2; i++) {
                mgr->mem[i].phys = pci_resource_start(pci, i);
-               mgr->mem[i].virt = ioremap_nocache(mgr->mem[i].phys,
-                                                  pci_resource_len(pci, i));
+               mgr->mem[i].virt = (unsigned long)ioremap_nocache(mgr->mem[i].phys,
+                                                                 pci_resource_len(pci, i));
        }
 
        if (request_irq(pci->irq, snd_mixart_interrupt, SA_INTERRUPT|SA_SHIRQ, CARD_NAME, (void *)mgr)) {