]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/staging/comedi/drivers/amplc_dio200.c
staging: comedi_pci: make comedi_pci_disable() safe to call
[karo-tx-linux.git] / drivers / staging / comedi / drivers / amplc_dio200.c
index 7c53dea12c7670fa015b0bf2b5ff1782606b5c3e..d13a6dddcd09165bd2cdeb6287727d1a2d0b6362 100644 (file)
@@ -2029,14 +2029,9 @@ static void dio200_detach(struct comedi_device *dev)
                        release_region(devpriv->io.u.iobase,
                                       thisboard->mainsize);
        } else if (is_pci_board(thisboard)) {
-               struct pci_dev *pcidev = comedi_to_pci_dev(dev);
-               if (pcidev) {
-                       if (devpriv->io.regtype != no_regtype) {
-                               if (devpriv->io.regtype == mmio_regtype)
-                                       iounmap(devpriv->io.u.membase);
-                               comedi_pci_disable(pcidev);
-                       }
-               }
+               if (devpriv->io.regtype == mmio_regtype)
+                       iounmap(devpriv->io.u.membase);
+               comedi_pci_disable(dev);
        }
 }
 
@@ -2070,10 +2065,10 @@ static DEFINE_PCI_DEVICE_TABLE(dio200_pci_table) = {
 MODULE_DEVICE_TABLE(pci, dio200_pci_table);
 
 static int amplc_dio200_pci_probe(struct pci_dev *dev,
-                                                  const struct pci_device_id
-                                                  *ent)
+                                 const struct pci_device_id *id)
 {
-       return comedi_pci_auto_config(dev, &amplc_dio200_driver);
+       return comedi_pci_auto_config(dev, &amplc_dio200_driver,
+                                     id->driver_data);
 }
 
 static struct pci_driver amplc_dio200_pci_driver = {