staging: comedi: refactor serial2002 driver to remove forward declarations
authorH Hartley Sweeten <hartleys@visionengravers.com>
Fri, 27 Apr 2012 21:36:26 +0000 (14:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Apr 2012 01:42:55 +0000 (21:42 -0400)
Move the module_init/module_exit routines and the associated
struct comedi_driver and other variables to the end of the source.
This is more typical of how other drivers are written and removes
the need for the forward declarations.

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/serial2002.c

index d880c2f..a034b10 100644 (file)
@@ -43,20 +43,10 @@ Status: in development
 #include <linux/serial.h>
 #include <linux/poll.h>
 
-/*
- * Board descriptions for two imaginary boards.  Describing the
- * boards in this way is optional, and completely driver-dependent.
- * Some drivers use arrays such as this, other do not.
- */
 struct serial2002_board {
        const char *name;
 };
 
-static const struct serial2002_board serial2002_boards[] = {
-       {
-        .name = "serial2002"}
-};
-
 /*
  * Useful for shorthand access to the particular board structure
  */
@@ -89,35 +79,6 @@ struct serial2002_private {
  */
 #define devpriv ((struct serial2002_private *)dev->private)
 
-static int serial2002_attach(struct comedi_device *dev,
-                            struct comedi_devconfig *it);
-static int serial2002_detach(struct comedi_device *dev);
-struct comedi_driver driver_serial2002 = {
-       .driver_name = "serial2002",
-       .module = THIS_MODULE,
-       .attach = serial2002_attach,
-       .detach = serial2002_detach,
-       .board_name = &serial2002_boards[0].name,
-       .offset = sizeof(struct serial2002_board),
-       .num_names = ARRAY_SIZE(serial2002_boards),
-};
-
-static int serial2002_di_rinsn(struct comedi_device *dev,
-                              struct comedi_subdevice *s,
-                              struct comedi_insn *insn, unsigned int *data);
-static int serial2002_do_winsn(struct comedi_device *dev,
-                              struct comedi_subdevice *s,
-                              struct comedi_insn *insn, unsigned int *data);
-static int serial2002_ai_rinsn(struct comedi_device *dev,
-                              struct comedi_subdevice *s,
-                              struct comedi_insn *insn, unsigned int *data);
-static int serial2002_ao_winsn(struct comedi_device *dev,
-                              struct comedi_subdevice *s,
-                              struct comedi_insn *insn, unsigned int *data);
-static int serial2002_ao_rinsn(struct comedi_device *dev,
-                              struct comedi_subdevice *s,
-                              struct comedi_insn *insn, unsigned int *data);
-
 struct serial_data {
        enum { is_invalid, is_digital, is_channel } kind;
        int index;
@@ -901,17 +862,32 @@ static int serial2002_detach(struct comedi_device *dev)
        return 0;
 }
 
+static const struct serial2002_board serial2002_boards[] = {
+       {
+               .name   = "serial2002"
+       },
+};
+
+struct comedi_driver driver_serial2002 = {
+       .driver_name    = "serial2002",
+       .module         = THIS_MODULE,
+       .attach         = serial2002_attach,
+       .detach         = serial2002_detach,
+       .board_name     = &serial2002_boards[0].name,
+       .offset         = sizeof(struct serial2002_board),
+       .num_names      = ARRAY_SIZE(serial2002_boards),
+};
+
 static int __init driver_serial2002_init_module(void)
 {
        return comedi_driver_register(&driver_serial2002);
 }
+module_init(driver_serial2002_init_module);
 
 static void __exit driver_serial2002_cleanup_module(void)
 {
        comedi_driver_unregister(&driver_serial2002);
 }
-
-module_init(driver_serial2002_init_module);
 module_exit(driver_serial2002_cleanup_module);
 
 MODULE_AUTHOR("Comedi http://www.comedi.org");