summaryrefslogtreecommitdiff
path: root/drivers/staging/comedi
diff options
context:
space:
mode:
authorBernd Porr <mail@berndporr.me.uk>2014-01-08 01:42:25 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-09 22:51:54 +0400
commitbcb6232d090c82e41d6bce9474e031bfd948fcdb (patch)
tree3ca997146ba6b18d305181986bf02eb075fb6d6f /drivers/staging/comedi
parent52ef9e7cb317fcb7f8b63f1bec7271e40341ce98 (diff)
downloadlinux-bcb6232d090c82e41d6bce9474e031bfd948fcdb.tar.xz
staging: comedi: report success/failure of autoconfig
Added success message to the driver autoconfig and error message in case it fails. A success message is required so that the user can find out which comedi driver has been associated with which udev device. This also makes troubleshooting much easier when more than one card is in the computer or there is a mix of USB and PCI devices. As Ian suggested we should report both the driver and the board which might have different names, especially if one driver covers a range of different boards. Signed-off-by: Bernd Porr <mail@berndporr.me.uk> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/comedi')
-rw-r--r--drivers/staging/comedi/drivers.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c
index 9d71b4d8540b..246080316c90 100644
--- a/drivers/staging/comedi/drivers.c
+++ b/drivers/staging/comedi/drivers.c
@@ -603,8 +603,12 @@ int comedi_auto_config(struct device *hardware_device,
}
dev = comedi_alloc_board_minor(hardware_device);
- if (IS_ERR(dev))
+ if (IS_ERR(dev)) {
+ dev_warn(hardware_device,
+ "driver '%s' could not create device.\n",
+ driver->driver_name);
return PTR_ERR(dev);
+ }
/* Note: comedi_alloc_board_minor() locked dev->mutex. */
dev->driver = driver;
@@ -616,8 +620,20 @@ int comedi_auto_config(struct device *hardware_device,
comedi_device_detach(dev);
mutex_unlock(&dev->mutex);
- if (ret < 0)
+ if (ret < 0) {
+ dev_warn(hardware_device,
+ "driver '%s' failed to auto-configure device.\n",
+ driver->driver_name);
comedi_release_hardware_device(hardware_device);
+ } else {
+ /*
+ * class_dev should be set properly here
+ * after a successful auto config
+ */
+ dev_info(dev->class_dev,
+ "driver '%s' has successfully auto-configured '%s'.\n",
+ driver->driver_name, dev->board_name);
+ }
return ret;
}
EXPORT_SYMBOL_GPL(comedi_auto_config);