From d5121914a22c22d849abb57d086fe408c9ca2c0c Mon Sep 17 00:00:00 2001 From: Ian Abbott Date: Sat, 27 Oct 2012 21:44:15 +0100 Subject: [PATCH] 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: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c index d60fa551a535..adae25643b1b 100644 --- a/drivers/staging/comedi/drivers.c +++ b/drivers/staging/comedi/drivers.c @@ -1023,6 +1023,8 @@ int comedi_pci_auto_config(struct pci_dev *pcidev, struct comedi_driver *driver) if (driver->attach_pci) return comedi_new_pci_auto_config(pcidev, driver); + else if (driver->auto_attach) + return comedi_auto_config(&pcidev->dev, driver, 0); else return comedi_old_pci_auto_config(pcidev, driver); } @@ -1093,6 +1095,8 @@ int comedi_usb_auto_config(struct usb_interface *intf, BUG_ON(intf == NULL); if (driver->attach_usb) return comedi_new_usb_auto_config(intf, driver); + else if (driver->auto_attach) + return comedi_auto_config(&intf->dev, driver, 0); else return comedi_old_usb_auto_config(intf, driver); } -- 2.11.0