Skip to content

Commit

Permalink
staging: comedi: refactor pcl818 driver to remove forward declarations
Browse files Browse the repository at this point in the history
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 <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
H Hartley Sweeten authored and Greg Kroah-Hartman committed Apr 30, 2012
1 parent 34023cd commit f6aafa1
Showing 1 changed file with 47 additions and 62 deletions.
109 changes: 47 additions & 62 deletions drivers/staging/comedi/drivers/pcl818.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,6 @@ static const struct comedi_lrange range718_bipolar0_5 =
static const struct comedi_lrange range718_unipolar2 = { 1, {UNI_RANGE(2),} };
static const struct comedi_lrange range718_unipolar1 = { 1, {BIP_RANGE(1),} };

static int pcl818_attach(struct comedi_device *dev,
struct comedi_devconfig *it);
static int pcl818_detach(struct comedi_device *dev);

#ifdef unused
static int RTC_lock; /* RTC lock */
static int RTC_timer_lock; /* RTC int lock */
Expand All @@ -277,54 +273,6 @@ struct pcl818_board {
int is_818;
};

static const struct pcl818_board boardtypes[] = {
{"pcl818l", 4, 16, 8, 25000, 1, 16, 16, &range_pcl818l_l_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 1},
{"pcl818h", 9, 16, 8, 10000, 1, 16, 16, &range_pcl818h_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 1},
{"pcl818hd", 9, 16, 8, 10000, 1, 16, 16, &range_pcl818h_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 1, 1},
{"pcl818hg", 12, 16, 8, 10000, 1, 16, 16, &range_pcl818hg_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 1, 1},
{"pcl818", 9, 16, 8, 10000, 2, 16, 16, &range_pcl818h_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 1},
{"pcl718", 1, 16, 8, 16000, 2, 16, 16, &range_unipolar5,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 0},
/* pcm3718 */
{"pcm3718", 9, 16, 8, 10000, 0, 16, 16, &range_pcl818h_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 1 /* XXX ? */ },
};

static struct comedi_driver driver_pcl818 = {
.driver_name = "pcl818",
.module = THIS_MODULE,
.attach = pcl818_attach,
.detach = pcl818_detach,
.board_name = &boardtypes[0].name,
.num_names = ARRAY_SIZE(boardtypes),
.offset = sizeof(struct pcl818_board),
};

static int __init driver_pcl818_init_module(void)
{
return comedi_driver_register(&driver_pcl818);
}

static void __exit driver_pcl818_cleanup_module(void)
{
comedi_driver_unregister(&driver_pcl818);
}

module_init(driver_pcl818_init_module);
module_exit(driver_pcl818_cleanup_module);

struct pcl818_private {

unsigned int dma; /* used DMA, 0=don't use DMA */
Expand Down Expand Up @@ -1722,12 +1670,6 @@ static void free_resources(struct comedi_device *dev)
/* printk("free_resource() end\n"); */
}

/*
==============================================================================
Initialization
*/
static int pcl818_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{
int ret;
Expand Down Expand Up @@ -2018,17 +1960,60 @@ static int pcl818_attach(struct comedi_device *dev, struct comedi_devconfig *it)
return 0;
}

/*
==============================================================================
Removes device
*/
static int pcl818_detach(struct comedi_device *dev)
{
/* printk("comedi%d: pcl818: remove\n", dev->minor); */
free_resources(dev);
return 0;
}

static const struct pcl818_board boardtypes[] = {
{"pcl818l", 4, 16, 8, 25000, 1, 16, 16, &range_pcl818l_l_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 1},
{"pcl818h", 9, 16, 8, 10000, 1, 16, 16, &range_pcl818h_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 1},
{"pcl818hd", 9, 16, 8, 10000, 1, 16, 16, &range_pcl818h_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 1, 1},
{"pcl818hg", 12, 16, 8, 10000, 1, 16, 16, &range_pcl818hg_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 1, 1},
{"pcl818", 9, 16, 8, 10000, 2, 16, 16, &range_pcl818h_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 1},
{"pcl718", 1, 16, 8, 16000, 2, 16, 16, &range_unipolar5,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 0},
/* pcm3718 */
{"pcm3718", 9, 16, 8, 10000, 0, 16, 16, &range_pcl818h_ai,
&range_unipolar5, PCLx1x_RANGE, 0x00fc,
0x0a, 0xfff, 0xfff, 0, 1 /* XXX ? */ },
};

static struct comedi_driver driver_pcl818 = {
.driver_name = "pcl818",
.module = THIS_MODULE,
.attach = pcl818_attach,
.detach = pcl818_detach,
.board_name = &boardtypes[0].name,
.num_names = ARRAY_SIZE(boardtypes),
.offset = sizeof(struct pcl818_board),
};

static int __init driver_pcl818_init_module(void)
{
return comedi_driver_register(&driver_pcl818);
}
module_init(driver_pcl818_init_module);

static void __exit driver_pcl818_cleanup_module(void)
{
comedi_driver_unregister(&driver_pcl818);
}
module_exit(driver_pcl818_cleanup_module);

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

0 comments on commit f6aafa1

Please sign in to comment.