Commit d5121914 authored by Ian Abbott's avatar Ian Abbott Committed by Greg Kroah-Hartman

staging: comedi: support auto_attach() for PCI and USB

Allow `comedi_pci_auto_config()` and `comedi_usb_auto_config()` to use
the new `auto_attach()` hook in the low-level driver's `struct
comedi_driver` if it is set and the `attach_pci()` or `attach_usb()`
hook (for PCI or USB respectively) is `NULL`.

Eventually, the `auto_attach()` hook will be the only way of
auto-configuring hardware devices as comedi devices and the bus-type
specific `attach_pci()` and `attach_usb()` hooks will be removed.
Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8ed705af
...@@ -1023,6 +1023,8 @@ int comedi_pci_auto_config(struct pci_dev *pcidev, struct comedi_driver *driver) ...@@ -1023,6 +1023,8 @@ int comedi_pci_auto_config(struct pci_dev *pcidev, struct comedi_driver *driver)
if (driver->attach_pci) if (driver->attach_pci)
return comedi_new_pci_auto_config(pcidev, driver); return comedi_new_pci_auto_config(pcidev, driver);
else if (driver->auto_attach)
return comedi_auto_config(&pcidev->dev, driver, 0);
else else
return comedi_old_pci_auto_config(pcidev, driver); return comedi_old_pci_auto_config(pcidev, driver);
} }
...@@ -1093,6 +1095,8 @@ int comedi_usb_auto_config(struct usb_interface *intf, ...@@ -1093,6 +1095,8 @@ int comedi_usb_auto_config(struct usb_interface *intf,
BUG_ON(intf == NULL); BUG_ON(intf == NULL);
if (driver->attach_usb) if (driver->attach_usb)
return comedi_new_usb_auto_config(intf, driver); return comedi_new_usb_auto_config(intf, driver);
else if (driver->auto_attach)
return comedi_auto_config(&intf->dev, driver, 0);
else else
return comedi_old_usb_auto_config(intf, driver); return comedi_old_usb_auto_config(intf, driver);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment