diff options
author | J. Ali Harlow <ali@avrc.city.ac.uk> | 2011-05-18 19:18:56 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-05-18 14:32:07 -0700 |
commit | 8ba69ce4b3567de881514c61ea8b04b14d8e68ae (patch) | |
tree | 93cf57660204894d5c936dff08dcfca0cda90e7d /drivers/staging/comedi | |
parent | c647ed568af52cc75ece267ff02937d9263d1d27 (diff) |
comedi vmk80xx: support comedi auto-configuration
Add support for automatically associating a vmk8055 device with a
comedi device (previously the user had to use comedi_num_legacy_minors
to reserve device slots and then associate them with vmk8055 devices
using comedi_config).
Tested on multiple K8055s, but not on K8061s.
Signed-off-by: J. Ali Harlow <ali@avrc.city.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/comedi')
-rw-r--r-- | drivers/staging/comedi/drivers/vmk80xx.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/staging/comedi/drivers/vmk80xx.c b/drivers/staging/comedi/drivers/vmk80xx.c index 04c085fd790..3d13ca6e167 100644 --- a/drivers/staging/comedi/drivers/vmk80xx.c +++ b/drivers/staging/comedi/drivers/vmk80xx.c @@ -64,6 +64,8 @@ Changelog: #include "../comedidev.h" +#define BOARDNAME "vmk80xx" + MODULE_AUTHOR("Manuel Gebele <forensixs@gmx.de>"); MODULE_DESCRIPTION("Velleman USB Board Low-Level Driver"); MODULE_SUPPORTED_DEVICE("K8055/K8061 aka VM110/VM140"); @@ -1480,6 +1482,8 @@ static int vmk80xx_probe(struct usb_interface *intf, mutex_unlock(&glb_mutex); + comedi_usb_auto_config(dev->udev, BOARDNAME); + return 0; error: mutex_unlock(&glb_mutex); @@ -1496,6 +1500,8 @@ static void vmk80xx_disconnect(struct usb_interface *intf) if (!dev) return; + comedi_usb_auto_unconfig(dev->udev); + mutex_lock(&glb_mutex); down(&dev->limit_sem); @@ -1533,10 +1539,16 @@ static struct comedi_driver driver_vmk80xx = { static int __init vmk80xx_init(void) { + int retval; + printk(KERN_INFO "vmk80xx: version 0.8.01 " "Manuel Gebele <forensixs@gmx.de>\n"); - usb_register(&vmk80xx_driver); - return comedi_driver_register(&driver_vmk80xx); + + retval = comedi_driver_register(&driver_vmk80xx); + if (retval < 0) + return retval; + + return usb_register(&vmk80xx_driver); } static void __exit vmk80xx_exit(void) |