diff options
Diffstat (limited to 'drivers/staging/comedi/drivers/dt9812.c')
-rw-r--r-- | drivers/staging/comedi/drivers/dt9812.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/drivers/staging/comedi/drivers/dt9812.c b/drivers/staging/comedi/drivers/dt9812.c index 176799849d20..192cf088f834 100644 --- a/drivers/staging/comedi/drivers/dt9812.c +++ b/drivers/staging/comedi/drivers/dt9812.c @@ -702,10 +702,9 @@ static int dt9812_probe(struct usb_interface *interface, /* allocate memory for our device state and initialize it */ dev = kzalloc(sizeof(*dev), GFP_KERNEL); - if (dev == NULL) { - dev_err(&interface->dev, "Out of memory\n"); + if (dev == NULL) goto error; - } + kref_init(&dev->kref); dev->udev = usb_get_dev(interface_to_usbdev(interface)); @@ -1133,7 +1132,7 @@ static struct comedi_driver dt9812_comedi_driver = { static int __init usb_dt9812_init(void) { - int result, i; + int i; /* Initialize all driver slots */ for (i = 0; i < DT9812_NUM_SLOTS; i++) { @@ -1144,30 +1143,13 @@ static int __init usb_dt9812_init(void) } dt9812[12].serial = 0x0; - /* register with the USB subsystem */ - result = usb_register(&dt9812_usb_driver); - if (result) { - pr_err("usb_register failed. Error number %d\n", result); - return result; - } - /* register with comedi */ - result = comedi_driver_register(&dt9812_comedi_driver); - if (result) { - usb_deregister(&dt9812_usb_driver); - pr_err("comedi_driver_register failed. Error number %d\n", - result); - } - - return result; + return comedi_usb_driver_register(&dt9812_comedi_driver, + &dt9812_usb_driver); } static void __exit usb_dt9812_exit(void) { - /* unregister with comedi */ - comedi_driver_unregister(&dt9812_comedi_driver); - - /* deregister this driver with the USB subsystem */ - usb_deregister(&dt9812_usb_driver); + comedi_usb_driver_unregister(&dt9812_comedi_driver, &dt9812_usb_driver); } module_init(usb_dt9812_init); |