Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b18bbb5 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: refactor the acl7225b driver to remove the forward declarations



Move the module_init/module_exit routines and the associated
struct comedi_driver and struct boardtype variables to the end
of the source. This is more typical of how other drivers are
written and removes the need to 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>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c8d87bcc
Loading
Loading
Loading
Loading
+27 −32
Original line number Original line Diff line number Diff line
@@ -22,45 +22,13 @@ Devices: [Adlink] ACL-7225b (acl7225b), [ICP] P16R16DIO (p16r16dio)
#define ACL7225_DI_LO  2	/* Digital input low byte (DI0-DI7) */
#define ACL7225_DI_LO  2	/* Digital input low byte (DI0-DI7) */
#define ACL7225_DI_HI  3	/* Digital input high byte (DI8-DI15) */
#define ACL7225_DI_HI  3	/* Digital input high byte (DI8-DI15) */


static int acl7225b_attach(struct comedi_device *dev,
			   struct comedi_devconfig *it);
static int acl7225b_detach(struct comedi_device *dev);

struct boardtype {
struct boardtype {
	const char *name;	/*  driver name */
	const char *name;	/*  driver name */
	int io_range;		/*  len of I/O space */
	int io_range;		/*  len of I/O space */
};
};


static const struct boardtype boardtypes[] = {
	{"acl7225b", ACL7225_SIZE,},
	{"p16r16dio", P16R16DIO_SIZE,},
};

#define this_board ((const struct boardtype *)dev->board_ptr)
#define this_board ((const struct boardtype *)dev->board_ptr)


static struct comedi_driver driver_acl7225b = {
	.driver_name = "acl7225b",
	.module = THIS_MODULE,
	.attach = acl7225b_attach,
	.detach = acl7225b_detach,
	.board_name = &boardtypes[0].name,
	.num_names = ARRAY_SIZE(boardtypes),
	.offset = sizeof(struct boardtype),
};

static int __init driver_acl7225b_init_module(void)
{
	return comedi_driver_register(&driver_acl7225b);
}

static void __exit driver_acl7225b_cleanup_module(void)
{
	comedi_driver_unregister(&driver_acl7225b);
}

module_init(driver_acl7225b_init_module);
module_exit(driver_acl7225b_cleanup_module);

static int acl7225b_do_insn(struct comedi_device *dev,
static int acl7225b_do_insn(struct comedi_device *dev,
			    struct comedi_subdevice *s,
			    struct comedi_subdevice *s,
			    struct comedi_insn *insn, unsigned int *data)
			    struct comedi_insn *insn, unsigned int *data)
@@ -161,6 +129,33 @@ static int acl7225b_detach(struct comedi_device *dev)
	return 0;
	return 0;
}
}


static const struct boardtype boardtypes[] = {
	{ "acl7225b", ACL7225_SIZE, },
	{ "p16r16dio", P16R16DIO_SIZE, },
};

static struct comedi_driver driver_acl7225b = {
	.driver_name	= "acl7225b",
	.module		= THIS_MODULE,
	.attach		= acl7225b_attach,
	.detach		= acl7225b_detach,
	.board_name	= &boardtypes[0].name,
	.num_names	= ARRAY_SIZE(boardtypes),
	.offset		= sizeof(struct boardtype),
};

static int __init driver_acl7225b_init_module(void)
{
	return comedi_driver_register(&driver_acl7225b);
}
module_init(driver_acl7225b_init_module);

static void __exit driver_acl7225b_cleanup_module(void)
{
	comedi_driver_unregister(&driver_acl7225b);
}
module_exit(driver_acl7225b_cleanup_module);

MODULE_AUTHOR("Comedi http://www.comedi.org");
MODULE_AUTHOR("Comedi http://www.comedi.org");
MODULE_DESCRIPTION("Comedi low-level driver");
MODULE_DESCRIPTION("Comedi low-level driver");
MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL");