Now that the semaphore used by the comedi_driver is initialized
when the comedi_device private data is allocated, the module_init()
in this driver just clears the 'slot' data before calling
comedi_usb_driver_register(). This static data will already be
cleared when the driver is loaded.
Replace the module_{init,exit}() with the module_comedi_usb_driver()
macro to remove the boilerplate code.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Ian Abbott <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
---
drivers/staging/comedi/drivers/dt9812.c | 23 +----------------------
1 file changed, 1 insertion(+), 22 deletions(-)
diff --git a/drivers/staging/comedi/drivers/dt9812.c
b/drivers/staging/comedi/drivers/dt9812.c
index 7c26866..8a4462a 100644
--- a/drivers/staging/comedi/drivers/dt9812.c
+++ b/drivers/staging/comedi/drivers/dt9812.c
@@ -1022,28 +1022,7 @@ static struct usb_driver dt9812_usb_driver = {
.probe = dt9812_probe,
.disconnect = dt9812_disconnect,
};
-
-static int __init usb_dt9812_init(void)
-{
- int i;
-
- /* Initialize all driver slots */
- for (i = 0; i < DT9812_NUM_SLOTS; i++) {
- dt9812[i].usb = NULL;
- dt9812[i].devpriv = NULL;
- }
-
- return comedi_usb_driver_register(&dt9812_comedi_driver,
- &dt9812_usb_driver);
-}
-
-static void __exit usb_dt9812_exit(void)
-{
- comedi_usb_driver_unregister(&dt9812_comedi_driver, &dt9812_usb_driver);
-}
-
-module_init(usb_dt9812_init);
-module_exit(usb_dt9812_exit);
+module_comedi_usb_driver(dt9812_comedi_driver, dt9812_usb_driver);
MODULE_AUTHOR("Anders Blomdell <[email protected]>");
MODULE_DESCRIPTION("Comedi DT9812 driver");
--
1.8.1.4
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel