]> Pileus Git - ~andy/linux/commitdiff
staging: comedi: pass struct comedi_driver * to comedi_auto_config()
authorIan Abbott <abbotti@mev.co.uk>
Fri, 30 Mar 2012 16:15:02 +0000 (17:15 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Apr 2012 18:22:01 +0000 (11:22 -0700)
Pass a pointer to the struct comedi_driver to comedi_auto_config()
instead of the driver name.  comedi_auto_config() will be changed to
make use of this.  It currently calls comedi_device_attach() which
examines the whole list of struct comedi_driver objects.  It will be
changed to restrict itself to just the supplied struct comedi_driver
object.

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

index 69e6fa345d3fd8712d6a5bf619efc62a2235b9bc..aec9c35428cc59d4e64b0695880f185e2fb6648d 100644 (file)
@@ -857,7 +857,7 @@ comedi_auto_config_helper(struct device *hardware_device,
 }
 
 static int comedi_auto_config(struct device *hardware_device,
-                             const char *board_name, const int *options,
+                             struct comedi_driver *driver, const int *options,
                              unsigned num_options)
 {
        struct comedi_devconfig it;
@@ -875,7 +875,7 @@ static int comedi_auto_config(struct device *hardware_device,
        dev_file_info = comedi_get_device_file_info(minor);
 
        memset(&it, 0, sizeof(it));
-       strncpy(it.board_name, board_name, COMEDI_NAMELEN);
+       strncpy(it.board_name, driver->driver_name, COMEDI_NAMELEN);
        it.board_name[COMEDI_NAMELEN - 1] = '\0';
        BUG_ON(num_options > COMEDI_NDEVCONFOPTS);
        memcpy(it.options, options, num_options * sizeof(int));
@@ -912,7 +912,7 @@ static int comedi_old_pci_auto_config(struct pci_dev *pcidev,
        /*  pci slot */
        options[1] = PCI_SLOT(pcidev->devfn);
 
-       return comedi_auto_config(&pcidev->dev, driver->driver_name,
+       return comedi_auto_config(&pcidev->dev, driver,
                                  options, ARRAY_SIZE(options));
 }
 
@@ -947,7 +947,7 @@ EXPORT_SYMBOL_GPL(comedi_pci_auto_unconfig);
 static int comedi_old_usb_auto_config(struct usb_interface *intf,
                                      struct comedi_driver *driver)
 {
-       return comedi_auto_config(&intf->dev, driver->driver_name, NULL, 0);
+       return comedi_auto_config(&intf->dev, driver, NULL, 0);
 }
 
 static int comedi_usb_attach_wrapper(struct comedi_device *dev, void *intf)