From 8ba69ce4b3567de881514c61ea8b04b14d8e68ae Mon Sep 17 00:00:00 2001 From: "J. Ali Harlow" Date: Wed, 18 May 2011 19:18:56 +0100 Subject: [PATCH] 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 --- drivers/staging/comedi/drivers/vmk80xx.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/staging/comedi/drivers/vmk80xx.c b/drivers/staging/comedi/drivers/vmk80xx.c index 04c085fd790d..3d13ca6e1670 100644 --- a/drivers/staging/comedi/drivers/vmk80xx.c +++ b/drivers/staging/comedi/drivers/vmk80xx.c @@ -64,6 +64,8 @@ Status: works #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) -- GitLab