]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
staging: comedi: das08: Remove manual configuration of PCI boards
authorIan Abbott <abbotti@mev.co.uk>
Fri, 31 Aug 2012 19:41:45 +0000 (20:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Sep 2012 19:00:42 +0000 (12:00 -0700)
Remove the code that allows PCI boards to be manually attached by the
`COMEDI_DEVCONFIG` ioctl (or the `comedi_config` application).
Supported PCI boards will be attached automatically at probe time via
`comedi_pci_auto_config()` and the `attach_pci` hook in the `struct
comedi_driver`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/das08.c

index 623e77ef2d280de5cbdbacf31cd8a2387b015486..0b9ded3b172e4a57914bee3ce472f848897bf575 100644 (file)
@@ -32,8 +32,9 @@
  *   [ComputerBoards] DAS08 (isa-das08), DAS08-PGM (das08-pgm),
  *   DAS08-PGH (das08-pgh), DAS08-PGL (das08-pgl), DAS08-AOH (das08-aoh),
  *   DAS08-AOL (das08-aol), DAS08-AOM (das08-aom), DAS08/JR-AO (das08/jr-ao),
- *   DAS08/JR-16-AO (das08jr-16-ao), PCI-DAS08 (pci-das08 or das08),
+ *   DAS08/JR-16-AO (das08jr-16-ao), PCI-DAS08 (pci-das08),
  *   PC104-DAS08 (pc104-das08), DAS08/JR/16 (das08jr/16)
+ * Updated: Fri, 31 Aug 2012 19:19:06 +0100
  * Status: works
  *
  * This is a rewrite of the das08 and das08jr drivers.
@@ -41,9 +42,8 @@
  * Options (for ISA cards):
  *             [0] - base io address
  *
- * Options (for pci-das08):
- *             [0] - bus  (optional)
- *             [1] = slot (optional)
+ * Manual configuration of PCI cards is not supported; they are
+ * configured automatically.
  *
  * The das08 driver doesn't support asynchronous commands, since
  * the cheap das08 hardware doesn't really support them.  The
@@ -641,11 +641,6 @@ static const struct das08_board_struct das08_boards[] = {
                .i8254_offset = 4,
                .iosize = 8,
        },
-       { /* wildcard entry matches any supported PCI device */
-               .name = DRV_NAME,
-               .id = PCI_ANY_ID,
-               .bustype = pci,
-       },
 #endif /* IS_ENABLED(CONFIG_COMEDI_DAS08_PCI) */
 };
 #endif /* DO_COMEDI_DRIVER_REGISTER */
@@ -818,57 +813,6 @@ das08_attach_pci(struct comedi_device *dev, struct pci_dev *pdev)
        return das08_pci_attach_common(dev, pdev);
 }
 
-static struct pci_dev *das08_find_pci(struct comedi_device *dev,
-                                     int bus, int slot)
-{
-       const struct das08_board_struct *thisboard = comedi_board(dev);
-       struct pci_dev *pdev;
-       unsigned int matchid;
-
-       if (bus || slot)
-               dev_dbg(dev->class_dev, "Looking for %s at PCI %02X:%02X\n",
-                       thisboard->name, bus, slot);
-       else
-               dev_dbg(dev->class_dev, "Looking for %s on PCI buses\n",
-                       thisboard->name);
-
-       matchid = thisboard->id;
-       pdev = NULL;
-       for_each_pci_dev(pdev) {
-               if ((bus || slot) &&
-                   (bus != pdev->bus->number || slot != PCI_SLOT(pdev->devfn)))
-                       continue;
-               if (pdev->vendor != PCI_VENDOR_ID_COMPUTERBOARDS)
-                       continue;
-               if (matchid == PCI_ANY_ID) {
-                       /* wildcard board matches any supported PCI board */
-                       const struct das08_board_struct *foundboard;
-                       foundboard = das08_find_pci_board(pdev);
-                       if (foundboard == NULL)
-                               continue;
-                       /* replace wildcard board_ptr */
-                       dev->board_ptr = thisboard = foundboard;
-               } else {
-                       /* match specific PCI board */
-                       if (pdev->device != matchid)
-                               continue;
-               }
-               /* found a match */
-               dev_info(dev->class_dev, "Found %s at PCI %s\n",
-                        thisboard->name, pci_name(pdev));
-               return pdev;
-       }
-       /* no match found */
-       if (bus || slot)
-               dev_err(dev->class_dev,
-                       "No %s cards found at PCI %02X:%02X\n",
-                       thisboard->name, bus, slot);
-       else
-               dev_err(dev->class_dev, "No %s cards found on PCI buses\n",
-                       thisboard->name);
-       return NULL;
-}
-
 static int __maybe_unused
 das08_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 {
@@ -884,11 +828,10 @@ das08_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 
        dev_info(dev->class_dev, "attach\n");
        if (IS_ENABLED(CONFIG_COMEDI_DAS08_PCI) && thisboard->bustype == pci) {
-               struct pci_dev *pdev;
-               pdev = das08_find_pci(dev, it->options[0], it->options[1]);
-               if (pdev == NULL)
-                       return -EIO;
-               return das08_pci_attach_common(dev, pdev);
+               dev_err(dev->class_dev,
+                       "Manual configuration of PCI board '%s' is not supported\n",
+                       thisboard->name);
+               return -EIO;
        } else if (IS_ENABLED(CONFIG_COMEDI_DAS08_ISA) &&
                   thisboard->bustype == isa) {
                iobase = it->options[0];