Staging: comedi: Remove COMEDI_INITCLEANUP macro
Move the init/exit routines to the respective C source files instead of calling COMEDI_INITCLEANUP Signed-off-by: Arun Thomas <arun.thomas@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
90f703d30d
commit
7114a28011
59 changed files with 696 additions and 73 deletions
|
@ -53,17 +53,6 @@
|
|||
COMEDI_MINORVERSION, COMEDI_MICROVERSION)
|
||||
#define COMEDI_RELEASE VERSION
|
||||
|
||||
#define COMEDI_INITCLEANUP_NOMODULE(x) \
|
||||
static int __init x ## _init_module(void) \
|
||||
{return comedi_driver_register(&(x)); } \
|
||||
static void __exit x ## _cleanup_module(void) \
|
||||
{comedi_driver_unregister(&(x)); } \
|
||||
module_init(x ## _init_module); \
|
||||
module_exit(x ## _cleanup_module);
|
||||
|
||||
#define COMEDI_INITCLEANUP(x) \
|
||||
COMEDI_INITCLEANUP_NOMODULE(x)
|
||||
|
||||
#define COMEDI_PCI_INITCLEANUP_NOMODULE(comedi_driver, pci_id_table) \
|
||||
static int __devinit comedi_driver ## _pci_probe(struct pci_dev *dev, \
|
||||
const struct pci_device_id *ent) \
|
||||
|
|
|
@ -117,7 +117,18 @@ static struct comedi_driver driver_8255 = {
|
|||
.detach = dev_8255_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_8255);
|
||||
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);
|
||||
|
||||
|
|
|
@ -49,7 +49,18 @@ static struct comedi_driver driver_acl7225b = {
|
|||
.offset = sizeof(struct boardtype),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_acl7225b);
|
||||
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,
|
||||
struct comedi_subdevice *s,
|
||||
|
|
|
@ -402,7 +402,18 @@ static int adq12b_do_insn_bits(struct comedi_device *dev,
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver_adq12b);
|
||||
static int __init driver_adq12b_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_adq12b);
|
||||
}
|
||||
|
||||
static void __exit driver_adq12b_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_adq12b);
|
||||
}
|
||||
|
||||
module_init(driver_adq12b_init_module);
|
||||
module_exit(driver_adq12b_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -227,7 +227,18 @@ static struct comedi_driver driver_aio_aio12_8 = {
|
|||
.offset = sizeof(struct aio12_8_boardtype),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_aio_aio12_8);
|
||||
static int __init driver_aio_aio12_8_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_aio_aio12_8);
|
||||
}
|
||||
|
||||
static void __exit driver_aio_aio12_8_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_aio_aio12_8);
|
||||
}
|
||||
|
||||
module_init(driver_aio_aio12_8_init_module);
|
||||
module_exit(driver_aio_aio12_8_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -184,7 +184,18 @@ static int aio_iiro_16_dio_insn_bits_read(struct comedi_device *dev,
|
|||
return 2;
|
||||
}
|
||||
|
||||
COMEDI_INITCLEANUP(driver_aio_iiro_16);
|
||||
static int __init driver_aio_iiro_16_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_aio_iiro_16);
|
||||
}
|
||||
|
||||
static void __exit driver_aio_iiro_16_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_aio_iiro_16);
|
||||
}
|
||||
|
||||
module_init(driver_aio_iiro_16_init_module);
|
||||
module_exit(driver_aio_iiro_16_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -496,7 +496,18 @@ static struct comedi_driver driver_amplc_dio200 = {
|
|||
#ifdef CONFIG_COMEDI_PCI
|
||||
COMEDI_PCI_INITCLEANUP(driver_amplc_dio200, dio200_pci_table);
|
||||
#else
|
||||
COMEDI_INITCLEANUP(driver_amplc_dio200);
|
||||
static int __init driver_amplc_dio200_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_amplc_dio200);
|
||||
}
|
||||
|
||||
static void __exit driver_amplc_dio200_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_amplc_dio200);
|
||||
}
|
||||
|
||||
module_init(driver_amplc_dio200_init_module);
|
||||
module_exit(driver_amplc_dio200_cleanup_module);
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
@ -184,7 +184,18 @@ static struct comedi_driver driver_amplc_pc236 = {
|
|||
#ifdef CONFIG_COMEDI_PCI
|
||||
COMEDI_PCI_INITCLEANUP(driver_amplc_pc236, pc236_pci_table);
|
||||
#else
|
||||
COMEDI_INITCLEANUP(driver_amplc_pc236);
|
||||
static int __init driver_amplc_pc236_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_amplc_pc236);
|
||||
}
|
||||
|
||||
static void __exit driver_amplc_pc236_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_amplc_pc236);
|
||||
}
|
||||
|
||||
module_init(driver_amplc_pc236_init_module);
|
||||
module_exit(driver_amplc_pc236_cleanup_module);
|
||||
#endif
|
||||
|
||||
static int pc236_request_region(unsigned minor, unsigned long from,
|
||||
|
|
|
@ -434,7 +434,18 @@ static int pc263_dio_insn_config(struct comedi_device *dev,
|
|||
#ifdef CONFIG_COMEDI_PCI
|
||||
COMEDI_PCI_INITCLEANUP(driver_amplc_pc263, pc263_pci_table);
|
||||
#else
|
||||
COMEDI_INITCLEANUP(driver_amplc_pc263);
|
||||
static int __init driver_amplc_pc263_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_amplc_pc263);
|
||||
}
|
||||
|
||||
static void __exit driver_amplc_pc263_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_amplc_pc263);
|
||||
}
|
||||
|
||||
module_init(driver_amplc_pc263_init_module);
|
||||
module_exit(driver_amplc_pc263_cleanup_module);
|
||||
#endif
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
|
|
|
@ -517,7 +517,18 @@ static int c6xdigio_detach(struct comedi_device *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
COMEDI_INITCLEANUP(driver_c6xdigio);
|
||||
static int __init driver_c6xdigio_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_c6xdigio);
|
||||
}
|
||||
|
||||
static void __exit driver_c6xdigio_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_c6xdigio);
|
||||
}
|
||||
|
||||
module_init(driver_c6xdigio_init_module);
|
||||
module_exit(driver_c6xdigio_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -880,5 +880,16 @@ void __exit cleanup_module(void)
|
|||
}
|
||||
|
||||
#else
|
||||
COMEDI_INITCLEANUP(driver_das16cs);
|
||||
static int __init driver_das16cs_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_das16cs);
|
||||
}
|
||||
|
||||
static void __exit driver_das16cs_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_das16cs);
|
||||
}
|
||||
|
||||
module_init(driver_das16cs_init_module);
|
||||
module_exit(driver_das16cs_cleanup_module);
|
||||
#endif /* CONFIG_PCMCIA */
|
||||
|
|
|
@ -101,7 +101,18 @@ static struct comedi_driver driver_parport = {
|
|||
.detach = parport_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_parport);
|
||||
static int __init driver_parport_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_parport);
|
||||
}
|
||||
|
||||
static void __exit driver_parport_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_parport);
|
||||
}
|
||||
|
||||
module_init(driver_parport_init_module);
|
||||
module_exit(driver_parport_cleanup_module);
|
||||
|
||||
struct parport_private {
|
||||
unsigned int a_data;
|
||||
|
|
|
@ -107,7 +107,18 @@ static struct comedi_driver driver_waveform = {
|
|||
.num_names = ARRAY_SIZE(waveform_boards),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_waveform);
|
||||
static int __init driver_waveform_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_waveform);
|
||||
}
|
||||
|
||||
static void __exit driver_waveform_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_waveform);
|
||||
}
|
||||
|
||||
module_init(driver_waveform_init_module);
|
||||
module_exit(driver_waveform_cleanup_module);
|
||||
|
||||
static int waveform_ai_cmdtest(struct comedi_device *dev,
|
||||
struct comedi_subdevice *s,
|
||||
|
|
|
@ -1084,7 +1084,18 @@ EXPORT_SYMBOL_GPL(das08_common_detach);
|
|||
#ifdef CONFIG_COMEDI_PCI
|
||||
COMEDI_PCI_INITCLEANUP(driver_das08, das08_pci_table);
|
||||
#else
|
||||
COMEDI_INITCLEANUP(driver_das08);
|
||||
static int __init driver_das08_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_das08);
|
||||
}
|
||||
|
||||
static void __exit driver_das08_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_das08);
|
||||
}
|
||||
|
||||
module_init(driver_das08_init_module);
|
||||
module_exit(driver_das08_cleanup_module);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_COMEDI_PCMCIA
|
||||
|
|
|
@ -1717,7 +1717,18 @@ static int das16_detach(struct comedi_device *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
COMEDI_INITCLEANUP(driver_das16);
|
||||
static int __init driver_das16_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_das16);
|
||||
}
|
||||
|
||||
static void __exit driver_das16_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_das16);
|
||||
}
|
||||
|
||||
module_init(driver_das16_init_module);
|
||||
module_exit(driver_das16_cleanup_module);
|
||||
|
||||
/* utility function that suggests a dma transfer size in bytes */
|
||||
static unsigned int das16_suggest_transfer_size(struct comedi_device *dev,
|
||||
|
|
|
@ -198,7 +198,18 @@ struct das16m1_private_struct {
|
|||
#define devpriv ((struct das16m1_private_struct *)(dev->private))
|
||||
#define thisboard ((const struct das16m1_board *)(dev->board_ptr))
|
||||
|
||||
COMEDI_INITCLEANUP(driver_das16m1);
|
||||
static int __init driver_das16m1_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_das16m1);
|
||||
}
|
||||
|
||||
static void __exit driver_das16m1_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_das16m1);
|
||||
}
|
||||
|
||||
module_init(driver_das16m1_init_module);
|
||||
module_exit(driver_das16m1_cleanup_module);
|
||||
|
||||
static inline short munge_sample(short data)
|
||||
{
|
||||
|
|
|
@ -531,7 +531,18 @@ static struct comedi_driver driver_das1800 = {
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver_das1800);
|
||||
static int __init driver_das1800_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_das1800);
|
||||
}
|
||||
|
||||
static void __exit driver_das1800_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_das1800);
|
||||
}
|
||||
|
||||
module_init(driver_das1800_init_module);
|
||||
module_exit(driver_das1800_cleanup_module);
|
||||
|
||||
static int das1800_init_dma(struct comedi_device *dev, unsigned int dma0,
|
||||
unsigned int dma1)
|
||||
|
|
|
@ -109,7 +109,18 @@ static struct comedi_driver driver_das6402 = {
|
|||
.detach = das6402_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_das6402);
|
||||
static int __init driver_das6402_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_das6402);
|
||||
}
|
||||
|
||||
static void __exit driver_das6402_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_das6402);
|
||||
}
|
||||
|
||||
module_init(driver_das6402_init_module);
|
||||
module_exit(driver_das6402_cleanup_module);
|
||||
|
||||
struct das6402_private {
|
||||
int ai_bytes_to_read;
|
||||
|
|
|
@ -347,7 +347,18 @@ static int das800_probe(struct comedi_device *dev)
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver_das800);
|
||||
static int __init driver_das800_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_das800);
|
||||
}
|
||||
|
||||
static void __exit driver_das800_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_das800);
|
||||
}
|
||||
|
||||
module_init(driver_das800_init_module);
|
||||
module_exit(driver_das800_cleanup_module);
|
||||
|
||||
/* interrupt service routine */
|
||||
static irqreturn_t das800_interrupt(int irq, void *d)
|
||||
|
|
|
@ -1095,7 +1095,18 @@ void dmm32at_setaitimer(struct comedi_device *dev, unsigned int nansec)
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver_dmm32at);
|
||||
static int __init driver_dmm32at_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_dmm32at);
|
||||
}
|
||||
|
||||
static void __exit driver_dmm32at_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_dmm32at);
|
||||
}
|
||||
|
||||
module_init(driver_dmm32at_init_module);
|
||||
module_exit(driver_dmm32at_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -98,7 +98,18 @@ static struct comedi_driver driver_dt2801 = {
|
|||
.detach = dt2801_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2801);
|
||||
static int __init driver_dt2801_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_dt2801);
|
||||
}
|
||||
|
||||
static void __exit driver_dt2801_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_dt2801);
|
||||
}
|
||||
|
||||
module_init(driver_dt2801_init_module);
|
||||
module_exit(driver_dt2801_cleanup_module);
|
||||
|
||||
#if 0
|
||||
/* ignore 'defined but not used' warning */
|
||||
|
|
|
@ -239,7 +239,18 @@ static struct comedi_driver driver_dt2811 = {
|
|||
.offset = sizeof(struct dt2811_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2811);
|
||||
static int __init driver_dt2811_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_dt2811);
|
||||
}
|
||||
|
||||
static void __exit driver_dt2811_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_dt2811);
|
||||
}
|
||||
|
||||
module_init(driver_dt2811_init_module);
|
||||
module_exit(driver_dt2811_cleanup_module);
|
||||
|
||||
static int dt2811_ai_insn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
struct comedi_insn *insn, unsigned int *data);
|
||||
|
|
|
@ -70,7 +70,18 @@ static struct comedi_driver driver_dt2814 = {
|
|||
.detach = dt2814_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2814);
|
||||
static int __init driver_dt2814_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_dt2814);
|
||||
}
|
||||
|
||||
static void __exit driver_dt2814_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_dt2814);
|
||||
}
|
||||
|
||||
module_init(driver_dt2814_init_module);
|
||||
module_exit(driver_dt2814_cleanup_module);
|
||||
|
||||
static irqreturn_t dt2814_interrupt(int irq, void *dev);
|
||||
|
||||
|
|
|
@ -82,7 +82,18 @@ static struct comedi_driver driver_dt2815 = {
|
|||
.detach = dt2815_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2815);
|
||||
static int __init driver_dt2815_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_dt2815);
|
||||
}
|
||||
|
||||
static void __exit driver_dt2815_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_dt2815);
|
||||
}
|
||||
|
||||
module_init(driver_dt2815_init_module);
|
||||
module_exit(driver_dt2815_cleanup_module);
|
||||
|
||||
static void dt2815_free_resources(struct comedi_device *dev);
|
||||
|
||||
|
|
|
@ -57,7 +57,18 @@ static struct comedi_driver driver_dt2817 = {
|
|||
.detach = dt2817_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2817);
|
||||
static int __init driver_dt2817_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_dt2817);
|
||||
}
|
||||
|
||||
static void __exit driver_dt2817_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_dt2817);
|
||||
}
|
||||
|
||||
module_init(driver_dt2817_init_module);
|
||||
module_exit(driver_dt2817_cleanup_module);
|
||||
|
||||
static int dt2817_dio_insn_config(struct comedi_device *dev,
|
||||
struct comedi_subdevice *s,
|
||||
|
|
|
@ -423,7 +423,18 @@ static struct comedi_driver driver_dt282x = {
|
|||
.offset = sizeof(struct dt282x_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt282x);
|
||||
static int __init driver_dt282x_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_dt282x);
|
||||
}
|
||||
|
||||
static void __exit driver_dt282x_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_dt282x);
|
||||
}
|
||||
|
||||
module_init(driver_dt282x_init_module);
|
||||
module_exit(driver_dt282x_cleanup_module);
|
||||
|
||||
static void free_resources(struct comedi_device *dev);
|
||||
static int prep_ai_dma(struct comedi_device *dev, int chan, int size);
|
||||
|
|
|
@ -52,7 +52,18 @@ static struct comedi_driver driver_fl512 = {
|
|||
.detach = fl512_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_fl512);
|
||||
static int __init driver_fl512_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_fl512);
|
||||
}
|
||||
|
||||
static void __exit driver_fl512_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_fl512);
|
||||
}
|
||||
|
||||
module_init(driver_fl512_init_module);
|
||||
module_exit(driver_fl512_cleanup_module);
|
||||
|
||||
static int fl512_ai_insn(struct comedi_device *dev,
|
||||
struct comedi_subdevice *s, struct comedi_insn *insn,
|
||||
|
|
|
@ -185,7 +185,18 @@ board_name : &boardtypes[0].name,
|
|||
offset : sizeof(struct boardtype),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_icp_multi);
|
||||
static int __init driver_icp_multi_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_icp_multi);
|
||||
}
|
||||
|
||||
static void __exit driver_icp_multi_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_icp_multi);
|
||||
}
|
||||
|
||||
module_init(driver_icp_multi_init_module);
|
||||
module_exit(driver_icp_multi_cleanup_module);
|
||||
|
||||
struct icp_multi_private {
|
||||
struct pcilst_struct *card; /* pointer to card */
|
||||
|
|
|
@ -640,7 +640,18 @@ static unsigned int pci20xxx_di(struct comedi_device *dev,
|
|||
}
|
||||
#endif
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pci20xxx);
|
||||
static int __init driver_pci20xxx_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pci20xxx);
|
||||
}
|
||||
|
||||
static void __exit driver_pci20xxx_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pci20xxx);
|
||||
}
|
||||
|
||||
module_init(driver_pci20xxx_init_module);
|
||||
module_exit(driver_pci20xxx_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -406,7 +406,18 @@ static int mpc624_ai_rinsn(struct comedi_device *dev,
|
|||
return n;
|
||||
}
|
||||
|
||||
COMEDI_INITCLEANUP(driver_mpc624);
|
||||
static int __init driver_mpc624_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_mpc624);
|
||||
}
|
||||
|
||||
static void __exit driver_mpc624_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_mpc624);
|
||||
}
|
||||
|
||||
module_init(driver_mpc624_init_module);
|
||||
module_exit(driver_mpc624_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -56,7 +56,18 @@ static struct comedi_driver driver_mpc8260cpm = {
|
|||
.detach = mpc8260cpm_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_mpc8260cpm);
|
||||
static int __init driver_mpc8260cpm_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_mpc8260cpm);
|
||||
}
|
||||
|
||||
static void __exit driver_mpc8260cpm_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_mpc8260cpm);
|
||||
}
|
||||
|
||||
module_init(driver_mpc8260cpm_init_module);
|
||||
module_exit(driver_mpc8260cpm_cleanup_module);
|
||||
|
||||
static int mpc8260cpm_dio_config(struct comedi_device *dev,
|
||||
struct comedi_subdevice *s,
|
||||
|
|
|
@ -93,7 +93,18 @@ static struct comedi_driver driver_multiq3 = {
|
|||
.detach = multiq3_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_multiq3);
|
||||
static int __init driver_multiq3_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_multiq3);
|
||||
}
|
||||
|
||||
static void __exit driver_multiq3_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_multiq3);
|
||||
}
|
||||
|
||||
module_init(driver_multiq3_init_module);
|
||||
module_exit(driver_multiq3_cleanup_module);
|
||||
|
||||
struct multiq3_private {
|
||||
unsigned int ao_readback[2];
|
||||
|
|
|
@ -197,7 +197,18 @@ static int a2150_set_chanlist(struct comedi_device *dev,
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver_a2150);
|
||||
static int __init driver_a2150_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_a2150);
|
||||
}
|
||||
|
||||
static void __exit driver_a2150_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_a2150);
|
||||
}
|
||||
|
||||
module_init(driver_a2150_init_module);
|
||||
module_exit(driver_a2150_cleanup_module);
|
||||
|
||||
#ifdef A2150_DEBUG
|
||||
|
||||
|
|
|
@ -194,7 +194,18 @@ static struct comedi_driver driver_atao = {
|
|||
.num_names = ARRAY_SIZE(atao_boards),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_atao);
|
||||
static int __init driver_atao_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_atao);
|
||||
}
|
||||
|
||||
static void __exit driver_atao_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_atao);
|
||||
}
|
||||
|
||||
module_init(driver_atao_init_module);
|
||||
module_exit(driver_atao_cleanup_module);
|
||||
|
||||
static void atao_reset(struct comedi_device *dev);
|
||||
|
||||
|
|
|
@ -349,7 +349,18 @@ static struct comedi_driver driver_atmio = {
|
|||
.detach = ni_atmio_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_atmio);
|
||||
static int __init driver_atmio_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_atmio);
|
||||
}
|
||||
|
||||
static void __exit driver_atmio_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_atmio);
|
||||
}
|
||||
|
||||
module_init(driver_atmio_init_module);
|
||||
module_exit(driver_atmio_cleanup_module);
|
||||
|
||||
#include "ni_mio_common.c"
|
||||
|
||||
|
|
|
@ -151,7 +151,18 @@ static struct comedi_driver driver_atmio16d = {
|
|||
.offset = sizeof(struct atmio16_board_t),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_atmio16d);
|
||||
static int __init driver_atmio16d_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_atmio16d);
|
||||
}
|
||||
|
||||
static void __exit driver_atmio16d_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_atmio16d);
|
||||
}
|
||||
|
||||
module_init(driver_atmio16d_init_module);
|
||||
module_exit(driver_atmio16d_cleanup_module);
|
||||
|
||||
/* range structs */
|
||||
static const struct comedi_lrange range_atmio16d_ai_10_bipolar = { 4, {
|
||||
|
|
|
@ -2080,7 +2080,18 @@ static void write_caldac(struct comedi_device *dev, unsigned int channel,
|
|||
#ifdef CONFIG_COMEDI_PCI
|
||||
COMEDI_PCI_INITCLEANUP(driver_labpc, labpc_pci_table);
|
||||
#else
|
||||
COMEDI_INITCLEANUP(driver_labpc);
|
||||
static int __init driver_labpc_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_labpc);
|
||||
}
|
||||
|
||||
static void __exit driver_labpc_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_labpc);
|
||||
}
|
||||
|
||||
module_init(driver_labpc_init_module);
|
||||
module_exit(driver_labpc_cleanup_module);
|
||||
#endif
|
||||
|
||||
EXPORT_SYMBOL_GPL(labpc_common_attach);
|
||||
|
|
|
@ -171,7 +171,18 @@ static struct comedi_driver driver_pcl711 = {
|
|||
.offset = sizeof(struct pcl711_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl711);
|
||||
static int __init driver_pcl711_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcl711);
|
||||
}
|
||||
|
||||
static void __exit driver_pcl711_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcl711);
|
||||
}
|
||||
|
||||
module_init(driver_pcl711_init_module);
|
||||
module_exit(driver_pcl711_cleanup_module);
|
||||
|
||||
struct pcl711_private {
|
||||
|
||||
|
|
|
@ -93,7 +93,18 @@ static struct comedi_driver driver_pcl724 = {
|
|||
.offset = sizeof(struct pcl724_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl724);
|
||||
static int __init driver_pcl724_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcl724);
|
||||
}
|
||||
|
||||
static void __exit driver_pcl724_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcl724);
|
||||
}
|
||||
|
||||
module_init(driver_pcl724_init_module);
|
||||
module_exit(driver_pcl724_cleanup_module);
|
||||
|
||||
static int subdev_8255_cb(int dir, int port, int data, unsigned long arg)
|
||||
{
|
||||
|
|
|
@ -30,7 +30,18 @@ static struct comedi_driver driver_pcl725 = {
|
|||
.detach = pcl725_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl725);
|
||||
static int __init driver_pcl725_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcl725);
|
||||
}
|
||||
|
||||
static void __exit driver_pcl725_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcl725);
|
||||
}
|
||||
|
||||
module_init(driver_pcl725_init_module);
|
||||
module_exit(driver_pcl725_cleanup_module);
|
||||
|
||||
static int pcl725_do_insn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
struct comedi_insn *insn, unsigned int *data)
|
||||
|
|
|
@ -162,7 +162,18 @@ static struct comedi_driver driver_pcl726 = {
|
|||
.offset = sizeof(struct pcl726_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl726);
|
||||
static int __init driver_pcl726_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcl726);
|
||||
}
|
||||
|
||||
static void __exit driver_pcl726_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcl726);
|
||||
}
|
||||
|
||||
module_init(driver_pcl726_init_module);
|
||||
module_exit(driver_pcl726_cleanup_module);
|
||||
|
||||
struct pcl726_private {
|
||||
|
||||
|
|
|
@ -55,7 +55,18 @@ static struct comedi_driver driver_pcl730 = {
|
|||
.offset = sizeof(struct pcl730_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl730);
|
||||
static int __init driver_pcl730_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcl730);
|
||||
}
|
||||
|
||||
static void __exit driver_pcl730_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcl730);
|
||||
}
|
||||
|
||||
module_init(driver_pcl730_init_module);
|
||||
module_exit(driver_pcl730_cleanup_module);
|
||||
|
||||
static int pcl730_do_insn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
struct comedi_insn *insn, unsigned int *data)
|
||||
|
|
|
@ -407,7 +407,18 @@ static struct comedi_driver driver_pcl812 = {
|
|||
.offset = sizeof(struct pcl812_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl812);
|
||||
static int __init driver_pcl812_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcl812);
|
||||
}
|
||||
|
||||
static void __exit driver_pcl812_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcl812);
|
||||
}
|
||||
|
||||
module_init(driver_pcl812_init_module);
|
||||
module_exit(driver_pcl812_cleanup_module);
|
||||
|
||||
struct pcl812_private {
|
||||
|
||||
|
|
|
@ -168,7 +168,18 @@ static struct comedi_driver driver_pcl816 = {
|
|||
.offset = sizeof(struct pcl816_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl816);
|
||||
static int __init driver_pcl816_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcl816);
|
||||
}
|
||||
|
||||
static void __exit driver_pcl816_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcl816);
|
||||
}
|
||||
|
||||
module_init(driver_pcl816_init_module);
|
||||
module_exit(driver_pcl816_cleanup_module);
|
||||
|
||||
struct pcl816_private {
|
||||
|
||||
|
|
|
@ -313,7 +313,18 @@ static struct comedi_driver driver_pcl818 = {
|
|||
.offset = sizeof(struct pcl818_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl818);
|
||||
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 {
|
||||
|
||||
|
|
|
@ -97,7 +97,18 @@ static struct comedi_driver driver_pcm3724 = {
|
|||
.offset = sizeof(struct pcm3724_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcm3724);
|
||||
static int __init driver_pcm3724_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcm3724);
|
||||
}
|
||||
|
||||
static void __exit driver_pcm3724_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcm3724);
|
||||
}
|
||||
|
||||
module_init(driver_pcm3724_init_module);
|
||||
module_exit(driver_pcm3724_cleanup_module);
|
||||
|
||||
/* (setq c-basic-offset 8) */
|
||||
|
||||
|
|
|
@ -38,7 +38,18 @@ static struct comedi_driver driver_pcm3730 = {
|
|||
.detach = pcm3730_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcm3730);
|
||||
static int __init driver_pcm3730_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcm3730);
|
||||
}
|
||||
|
||||
static void __exit driver_pcm3730_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcm3730);
|
||||
}
|
||||
|
||||
module_init(driver_pcm3730_init_module);
|
||||
module_exit(driver_pcm3730_cleanup_module);
|
||||
|
||||
static int pcm3730_do_insn_bits(struct comedi_device *dev,
|
||||
struct comedi_subdevice *s,
|
||||
|
|
|
@ -89,7 +89,18 @@ static struct comedi_driver driver_pcmad = {
|
|||
.offset = sizeof(pcmad_boards[0]),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcmad);
|
||||
static int __init driver_pcmad_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_pcmad);
|
||||
}
|
||||
|
||||
static void __exit driver_pcmad_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_pcmad);
|
||||
}
|
||||
|
||||
module_init(driver_pcmad_init_module);
|
||||
module_exit(driver_pcmad_cleanup_module);
|
||||
|
||||
#define TIMEOUT 100
|
||||
|
||||
|
|
|
@ -303,7 +303,18 @@ static int ao_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver);
|
||||
static int __init driver_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver);
|
||||
}
|
||||
|
||||
static void __exit driver_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver);
|
||||
}
|
||||
|
||||
module_init(driver_init_module);
|
||||
module_exit(driver_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -1333,7 +1333,18 @@ static int ao_winsn(struct comedi_device *dev, struct comedi_subdevice *s,
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver);
|
||||
static int __init driver_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver);
|
||||
}
|
||||
|
||||
static void __exit driver_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver);
|
||||
}
|
||||
|
||||
module_init(driver_init_module);
|
||||
module_exit(driver_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -1018,7 +1018,18 @@ pcmuio_cmdtest(struct comedi_device *dev, struct comedi_subdevice *s,
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver);
|
||||
static int __init driver_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver);
|
||||
}
|
||||
|
||||
static void __exit driver_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver);
|
||||
}
|
||||
|
||||
module_init(driver_init_module);
|
||||
module_exit(driver_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -248,7 +248,18 @@ static int pcl734_insn_bits(struct comedi_device *dev,
|
|||
return 2;
|
||||
}
|
||||
|
||||
COMEDI_INITCLEANUP(driver_poc);
|
||||
static int __init driver_poc_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_poc);
|
||||
}
|
||||
|
||||
static void __exit driver_poc_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_poc);
|
||||
}
|
||||
|
||||
module_init(driver_poc_init_module);
|
||||
module_exit(driver_poc_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -158,7 +158,18 @@ static struct comedi_driver driver_rti800 = {
|
|||
.offset = sizeof(struct rti800_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_rti800);
|
||||
static int __init driver_rti800_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_rti800);
|
||||
}
|
||||
|
||||
static void __exit driver_rti800_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_rti800);
|
||||
}
|
||||
|
||||
module_init(driver_rti800_init_module);
|
||||
module_exit(driver_rti800_cleanup_module);
|
||||
|
||||
static irqreturn_t rti800_interrupt(int irq, void *dev);
|
||||
|
||||
|
|
|
@ -57,7 +57,18 @@ static struct comedi_driver driver_rti802 = {
|
|||
.detach = rti802_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_rti802);
|
||||
static int __init driver_rti802_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_rti802);
|
||||
}
|
||||
|
||||
static void __exit driver_rti802_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_rti802);
|
||||
}
|
||||
|
||||
module_init(driver_rti802_init_module);
|
||||
module_exit(driver_rti802_cleanup_module);
|
||||
|
||||
struct rti802_private {
|
||||
enum {
|
||||
|
|
|
@ -1002,7 +1002,18 @@ static int s526_dio_insn_config(struct comedi_device *dev,
|
|||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver_s526);
|
||||
static int __init driver_s526_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_s526);
|
||||
}
|
||||
|
||||
static void __exit driver_s526_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_s526);
|
||||
}
|
||||
|
||||
module_init(driver_s526_init_module);
|
||||
module_exit(driver_s526_cleanup_module);
|
||||
|
||||
MODULE_AUTHOR("Comedi http://www.comedi.org");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -917,7 +917,18 @@ static int serial2002_detach(struct comedi_device *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
COMEDI_INITCLEANUP(driver_serial2002);
|
||||
static int __init driver_serial2002_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_serial2002);
|
||||
}
|
||||
|
||||
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");
|
||||
MODULE_DESCRIPTION("Comedi low-level driver");
|
||||
|
|
|
@ -620,11 +620,18 @@ static int skel_dio_insn_config(struct comedi_device *dev,
|
|||
return insn->n;
|
||||
}
|
||||
|
||||
/*
|
||||
* A convenient macro that defines init_module() and cleanup_module(),
|
||||
* as necessary.
|
||||
*/
|
||||
COMEDI_INITCLEANUP(driver_skel);
|
||||
static int __init driver_skel_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_skel);
|
||||
}
|
||||
|
||||
static void __exit driver_skel_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_skel);
|
||||
}
|
||||
|
||||
module_init(driver_skel_init_module);
|
||||
module_exit(driver_skel_cleanup_module);
|
||||
/* If you are writing a PCI driver you should use COMEDI_PCI_INITCLEANUP
|
||||
* instead.
|
||||
*/
|
||||
|
|
|
@ -102,7 +102,18 @@ static struct comedi_driver driver_dnp = {
|
|||
.num_names = ARRAY_SIZE(dnp_boards),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dnp);
|
||||
static int __init driver_dnp_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&driver_dnp);
|
||||
}
|
||||
|
||||
static void __exit driver_dnp_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&driver_dnp);
|
||||
}
|
||||
|
||||
module_init(driver_dnp_init_module);
|
||||
module_exit(driver_dnp_cleanup_module);
|
||||
|
||||
static int dnp_dio_insn_bits(struct comedi_device *dev,
|
||||
struct comedi_subdevice *s,
|
||||
|
|
|
@ -114,7 +114,18 @@ static struct comedi_driver unioxx5_driver = {
|
|||
.detach = unioxx5_detach
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(unioxx5_driver);
|
||||
static int __init unioxx5_driver_init_module(void)
|
||||
{
|
||||
return comedi_driver_register(&unioxx5_driver);
|
||||
}
|
||||
|
||||
static void __exit unioxx5_driver_cleanup_module(void)
|
||||
{
|
||||
comedi_driver_unregister(&unioxx5_driver);
|
||||
}
|
||||
|
||||
module_init(unioxx5_driver_init_module);
|
||||
module_exit(unioxx5_driver_cleanup_module);
|
||||
|
||||
static int unioxx5_attach(struct comedi_device *dev,
|
||||
struct comedi_devconfig *it)
|
||||
|
|
Loading…
Reference in a new issue