staging: comedi: refactor serial2002 driver to remove forward declarations
PATCH 1/1 staging: comedi: refactor serial2002 driver to remove forward declarations
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 <[email protected]>
Cc Ian Abbott <[email protected]>
Cc Mori Hess <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
---
drivers/staging/comedi/drivers/serial2002.c +17 -41
@@ -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" );