Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[firefly-linux-kernel-4.4.55.git] / drivers / staging / comedi / drivers / amplc_pci230.c
index e2244c6e536bc27a65d95016f11da3411a576d57..49200fbd60b994b6984ca42dff9f404f8a54ea4d 100644 (file)
@@ -2645,12 +2645,11 @@ static int pci230_attach_common(struct comedi_device *dev,
        comedi_set_hw_dev(dev, &pci_dev->dev);
 
        dev->board_name = thisboard->name;
-       /* Enable PCI device and reserve I/O spaces. */
-       if (comedi_pci_enable(pci_dev, "amplc_pci230") < 0) {
-               dev_err(dev->class_dev,
-                       "failed to enable PCI device and request regions\n");
-               return -EIO;
-       }
+
+       rc = comedi_pci_enable(dev);
+       if (rc)
+               return rc;
+
        /* Read base addresses of the PCI230's two I/O regions from PCI
         * configuration register. */
        iobase1 = pci_resource_start(pci_dev, 2);
@@ -2833,18 +2832,14 @@ static int pci230_auto_attach(struct comedi_device *dev,
 
 static void pci230_detach(struct comedi_device *dev)
 {
-       const struct pci230_board *thisboard = comedi_board(dev);
        struct pci_dev *pcidev = comedi_to_pci_dev(dev);
 
-       if (dev->subdevices && thisboard->have_dio)
-               subdev_8255_cleanup(dev, &dev->subdevices[2]);
+       comedi_spriv_free(dev, 2);
        if (dev->irq)
                free_irq(dev->irq, dev);
-       if (pcidev) {
-               if (dev->iobase)
-                       comedi_pci_disable(pcidev);
+       comedi_pci_disable(dev);
+       if (pcidev)
                pci_dev_put(pcidev);
-       }
 }
 
 static struct comedi_driver amplc_pci230_driver = {
@@ -2859,9 +2854,10 @@ static struct comedi_driver amplc_pci230_driver = {
 };
 
 static int amplc_pci230_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_pci230_driver);
+       return comedi_pci_auto_config(dev, &amplc_pci230_driver,
+                                     id->driver_data);
 }
 
 static DEFINE_PCI_DEVICE_TABLE(amplc_pci230_pci_table) = {