staging: comedi: refactor pcmad driver to remove forward declarations
PATCH 1/1 staging: comedi: refactor pcmad 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/pcmad.c +31 -36
@@ -57,19 +57,8 @@ struct pcmad_board_struct {const char *name;int n_ai_bits; }; -static const struct pcmad_board_struct pcmad_boards[] = { - { - .name ="pcmad12" , - .n_ai_bits =12 , - }, - { - .name ="pcmad16" , - .n_ai_bits =16 , - }, -};#define this_board ((const struct pcmad_board_struct *)(dev->board_ptr)) -#define n_pcmad_boards ARRAY_SIZE(pcmad_boards)struct pcmad_priv_struct {int differential;
@@ -77,31 +66,6 @@ struct pcmad_priv_struct { };#define devpriv ((struct pcmad_priv_struct *)dev->private) -static int pcmad_attach (struct comedi_device *dev,struct comedi_devconfig *it); -static int pcmad_detach (struct comedi_device *dev); -static struct comedi_driver driver_pcmad = { - .driver_name ="pcmad" , - .module =THIS_MODULE , - .attach = pcmad_attach, - .detach = pcmad_detach, - .board_name = &pcmad_boards[0 ].name, - .num_names = n_pcmad_boards, - .offset =sizeof (pcmad_boards[0 ]), -}; - -static int __init driver_pcmad_init_module (void ) -{ -return comedi_driver_register (&driver_pcmad); -} - -static void __exit driver_pcmad_cleanup_module(void) -{ -comedi_driver_unregister (&driver_pcmad); -} - -module_init (driver_pcmad_init_module); -module_exit (driver_pcmad_cleanup_module); -#define TIMEOUT 100 static int pcmad_ai_insn_read(struct comedi_device *dev,
@@ -188,6 +152,37 @@ static int pcmad_detach(struct comedi_device *dev)return 0 ; } +static const struct pcmad_board_struct pcmad_boards[] = { + { + .name ="pcmad12" , + .n_ai_bits =12 , + }, { + .name ="pcmad16" , + .n_ai_bits =16 , + }, +}; +static struct comedi_driver driver_pcmad = { + .driver_name ="pcmad" , + .module =THIS_MODULE , + .attach = pcmad_attach, + .detach = pcmad_detach, + .board_name = &pcmad_boards[0 ].name, + .num_names =ARRAY_SIZE (pcmad_boards), + .offset =sizeof (pcmad_boards[0 ]), +}; + +static int __init driver_pcmad_init_module (void ) +{ +return comedi_driver_register (&driver_pcmad); +} +module_init (driver_pcmad_init_module); + +static void __exit driver_pcmad_cleanup_module(void) +{ +comedi_driver_unregister (&driver_pcmad); +} +module_exit (driver_pcmad_cleanup_module); +MODULE_AUTHOR ("Comedi http://www.comedi.org" );MODULE_DESCRIPTION ("Comedi low-level driver" );MODULE_LICENSE ("GPL" );