Commit cb1648b4 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

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: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e9a4a7fb
......@@ -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");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment