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

Reply via email to