The module_comedi_driver() macro provides the module_{init.exit} code for this driver. Move the macro call and the comedi_driver declaration to the end of the file. This also removes the need for the das800_attach() forward declaration. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/comedi/drivers/das800.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/drivers/staging/comedi/drivers/das800.c b/drivers/staging/comedi/drivers/das800.c index 6e37033..3a4041d 100644 --- a/drivers/staging/comedi/drivers/das800.c +++ b/drivers/staging/comedi/drivers/das800.c @@ -228,20 +228,8 @@ struct das800_private { volatile int do_bits; /* digital output bits */ }; -static int das800_attach(struct comedi_device *dev, - struct comedi_devconfig *it); static int das800_cancel(struct comedi_device *dev, struct comedi_subdevice *s); -static struct comedi_driver driver_das800 = { - .driver_name = "das800", - .module = THIS_MODULE, - .attach = das800_attach, - .detach = comedi_legacy_detach, - .num_names = ARRAY_SIZE(das800_boards), - .board_name = &das800_boards[0].name, - .offset = sizeof(struct das800_board), -}; - static irqreturn_t das800_interrupt(int irq, void *d); static void enable_das800(struct comedi_device *dev); static void disable_das800(struct comedi_device *dev); @@ -329,8 +317,6 @@ static int das800_probe(struct comedi_device *dev) return -1; } -module_comedi_driver(driver_das800); - /* interrupt service routine */ static irqreturn_t das800_interrupt(int irq, void *d) { @@ -848,6 +834,17 @@ static int das800_set_frequency(struct comedi_device *dev) return 0; } +static struct comedi_driver driver_das800 = { + .driver_name = "das800", + .module = THIS_MODULE, + .attach = das800_attach, + .detach = comedi_legacy_detach, + .num_names = ARRAY_SIZE(das800_boards), + .board_name = &das800_boards[0].name, + .offset = sizeof(struct das800_board), +}; +module_comedi_driver(driver_das800); + MODULE_AUTHOR("Comedi http://www.comedi.org"); MODULE_DESCRIPTION("Comedi low-level driver"); MODULE_LICENSE("GPL"); -- 1.8.1.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel