From: J. Ali Harlow Date: Wed, 18 May 2011 18:18:56 +0000 (+0100) Subject: comedi vmk80xx: support comedi auto-configuration X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=8ba69ce4b3567de881514c61ea8b04b14d8e68ae;p=mv-sheeva.git 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 Signed-off-by: Greg Kroah-Hartman --- 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 "); 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 \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)