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

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

staging: comedi: refactor 8255 driver to remove forward declarations



Move the module_init/module_exit routines and the associated
struct comedi_driver variable to the end of the source. This is
more typical of how other drivers are written and removes the
need for the forward declarations.

Also, move the do_config function to remove needing to have
a forward declaration for that routine.

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 1b18bbb5
Loading
Loading
Loading
Loading
+36 −42
Original line number Original line Diff line number Diff line
@@ -107,31 +107,6 @@ struct subdev_8255_struct {
#define CALLBACK_FUNC	(((struct subdev_8255_struct *)s->private)->cb_func)
#define CALLBACK_FUNC	(((struct subdev_8255_struct *)s->private)->cb_func)
#define subdevpriv	((struct subdev_8255_struct *)s->private)
#define subdevpriv	((struct subdev_8255_struct *)s->private)


static int dev_8255_attach(struct comedi_device *dev,
			   struct comedi_devconfig *it);
static int dev_8255_detach(struct comedi_device *dev);
static struct comedi_driver driver_8255 = {
	.driver_name = "8255",
	.module = THIS_MODULE,
	.attach = dev_8255_attach,
	.detach = dev_8255_detach,
};

static int __init driver_8255_init_module(void)
{
	return comedi_driver_register(&driver_8255);
}

static void __exit driver_8255_cleanup_module(void)
{
	comedi_driver_unregister(&driver_8255);
}

module_init(driver_8255_init_module);
module_exit(driver_8255_cleanup_module);

static void do_config(struct comedi_device *dev, struct comedi_subdevice *s);

void subdev_8255_interrupt(struct comedi_device *dev,
void subdev_8255_interrupt(struct comedi_device *dev,
			   struct comedi_subdevice *s)
			   struct comedi_subdevice *s)
{
{
@@ -185,6 +160,23 @@ static int subdev_8255_insn(struct comedi_device *dev,
	return 2;
	return 2;
}
}


static void do_config(struct comedi_device *dev, struct comedi_subdevice *s)
{
	int config;

	config = CR_CW;
	/* 1 in io_bits indicates output, 1 in config indicates input */
	if (!(s->io_bits & 0x0000ff))
		config |= CR_A_IO;
	if (!(s->io_bits & 0x00ff00))
		config |= CR_B_IO;
	if (!(s->io_bits & 0x0f0000))
		config |= CR_C_LO_IO;
	if (!(s->io_bits & 0xf00000))
		config |= CR_C_HI_IO;
	CALLBACK_FUNC(1, _8255_CR, config, CALLBACK_ARG);
}

static int subdev_8255_insn_config(struct comedi_device *dev,
static int subdev_8255_insn_config(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)
@@ -222,23 +214,6 @@ static int subdev_8255_insn_config(struct comedi_device *dev,
	return 1;
	return 1;
}
}


static void do_config(struct comedi_device *dev, struct comedi_subdevice *s)
{
	int config;

	config = CR_CW;
	/* 1 in io_bits indicates output, 1 in config indicates input */
	if (!(s->io_bits & 0x0000ff))
		config |= CR_A_IO;
	if (!(s->io_bits & 0x00ff00))
		config |= CR_B_IO;
	if (!(s->io_bits & 0x0f0000))
		config |= CR_C_LO_IO;
	if (!(s->io_bits & 0xf00000))
		config |= CR_C_HI_IO;
	CALLBACK_FUNC(1, _8255_CR, config, CALLBACK_ARG);
}

static int subdev_8255_cmdtest(struct comedi_device *dev,
static int subdev_8255_cmdtest(struct comedi_device *dev,
			       struct comedi_subdevice *s,
			       struct comedi_subdevice *s,
			       struct comedi_cmd *cmd)
			       struct comedi_cmd *cmd)
@@ -462,6 +437,25 @@ static int dev_8255_detach(struct comedi_device *dev)
	return 0;
	return 0;
}
}


static struct comedi_driver driver_8255 = {
	.driver_name	= "8255",
	.module		= THIS_MODULE,
	.attach		= dev_8255_attach,
	.detach		= dev_8255_detach,
};

static int __init driver_8255_init_module(void)
{
	return comedi_driver_register(&driver_8255);
}
module_init(driver_8255_init_module);

static void __exit driver_8255_cleanup_module(void)
{
	comedi_driver_unregister(&driver_8255);
}
module_exit(driver_8255_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");