OSDN Git Service

staging: comedi: refactor multiq3 driver and use module_comedi_driver
authorH Hartley Sweeten <hartleys@visionengravers.com>
Fri, 4 May 2012 22:19:49 +0000 (15:19 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 May 2012 20:33:39 +0000 (13:33 -0700)
Move the struct comedi_driver to the end of the source. Convert
the driver to use the module_comedi_driver() macro which makes
the code smaller and a bit simpler.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/multiq3.c

index dace902..206296c 100644 (file)
@@ -83,29 +83,6 @@ Devices: [Quanser Consulting] MultiQ-3 (multiq3)
 
 #define MULTIQ3_TIMEOUT 30
 
-static int multiq3_attach(struct comedi_device *dev,
-                         struct comedi_devconfig *it);
-static int multiq3_detach(struct comedi_device *dev);
-static struct comedi_driver driver_multiq3 = {
-       .driver_name = "multiq3",
-       .module = THIS_MODULE,
-       .attach = multiq3_attach,
-       .detach = multiq3_detach,
-};
-
-static int __init driver_multiq3_init_module(void)
-{
-       return comedi_driver_register(&driver_multiq3);
-}
-
-static void __exit driver_multiq3_cleanup_module(void)
-{
-       comedi_driver_unregister(&driver_multiq3);
-}
-
-module_init(driver_multiq3_init_module);
-module_exit(driver_multiq3_cleanup_module);
-
 struct multiq3_private {
        unsigned int ao_readback[2];
 };
@@ -350,6 +327,14 @@ static int multiq3_detach(struct comedi_device *dev)
        return 0;
 }
 
+static struct comedi_driver multiq3_driver = {
+       .driver_name    = "multiq3",
+       .module         = THIS_MODULE,
+       .attach         = multiq3_attach,
+       .detach         = multiq3_detach,
+};
+module_comedi_driver(multiq3_driver);
+
 MODULE_AUTHOR("Comedi http://www.comedi.org");
 MODULE_DESCRIPTION("Comedi low-level driver");
 MODULE_LICENSE("GPL");