mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-26 15:45:14 +08:00
Staging: comedi: fix the way structs are initialized.
Change from the foo: bar format to the .foo = bar format. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
dae0dc30be
commit
68c3dbff9f
@ -108,10 +108,10 @@ struct subdev_8255_struct {
|
||||
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,
|
||||
.driver_name = "8255",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dev_8255_attach,
|
||||
.detach = dev_8255_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_8255);
|
||||
|
@ -39,13 +39,13 @@ static const struct boardtype boardtypes[] = {
|
||||
#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:n_boardtypes,
|
||||
offset:sizeof(struct boardtype),
|
||||
.driver_name = "acl7225b",
|
||||
.module = THIS_MODULE,
|
||||
.attach = acl7225b_attach,
|
||||
.detach = acl7225b_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct boardtype),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_acl7225b);
|
||||
|
@ -901,7 +901,7 @@ static const struct addi_board boardtypes[] = {
|
||||
NULL},
|
||||
#endif
|
||||
#ifdef CONFIG_APCI_3300
|
||||
/* Begin JK 20.10.2004: APCI-3300 integration */
|
||||
/* Begin JK .20.10.2004 = APCI-3300 integration */
|
||||
{"apci3300",
|
||||
APCI3200_BOARD_VENDOR_ID,
|
||||
0x3007,
|
||||
@ -2528,13 +2528,13 @@ static const struct addi_board boardtypes[] = {
|
||||
#define n_boardtypes (sizeof(boardtypes)/sizeof(struct addi_board))
|
||||
|
||||
struct comedi_driver driver_addi = {
|
||||
driver_name:"addi_common",
|
||||
module:THIS_MODULE,
|
||||
attach:i_ADDI_Attach,
|
||||
detach:i_ADDI_Detach,
|
||||
num_names:n_boardtypes,
|
||||
board_name:&boardtypes[0].pc_DriverName,
|
||||
offset:sizeof(struct addi_board),
|
||||
.driver_name = "addi_common",
|
||||
.module = THIS_MODULE,
|
||||
.attach = i_ADDI_Attach,
|
||||
.detach = i_ADDI_Detach,
|
||||
.num_names = n_boardtypes,
|
||||
.board_name = &boardtypes[0].pc_DriverName,
|
||||
.offset = sizeof(struct addi_board),
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_addi, addi_apci_tbl);
|
||||
|
@ -66,22 +66,22 @@ struct pci6208_board {
|
||||
|
||||
static const struct pci6208_board pci6208_boards[] = {
|
||||
/*{
|
||||
name : "pci6208v",
|
||||
dev_id : 0x6208, // not sure
|
||||
ao_chans: 8
|
||||
// , ao_bits : 16
|
||||
.name = "pci6208v",
|
||||
.dev_id = 0x6208, // not sure
|
||||
.ao_chans = 8
|
||||
// , .ao_bits = 16
|
||||
},
|
||||
{
|
||||
name : "pci6216v",
|
||||
dev_id : 0x6208, // not sure
|
||||
ao_chans: 16
|
||||
// , ao_bits : 16
|
||||
.name = "pci6216v",
|
||||
.dev_id = 0x6208, // not sure
|
||||
.ao_chans = 16
|
||||
// , .ao_bits = 16
|
||||
}, */
|
||||
{
|
||||
name: "pci6208a",
|
||||
dev_id: 0x6208,
|
||||
ao_chans:8
|
||||
/* , ao_bits : 16 */
|
||||
.name = "pci6208a",
|
||||
.dev_id = 0x6208,
|
||||
.ao_chans = 8
|
||||
/* , .ao_bits = 16 */
|
||||
}
|
||||
};
|
||||
|
||||
@ -114,10 +114,10 @@ static int pci6208_detach(struct comedi_device *dev);
|
||||
(sizeof(pci6208_boards) / sizeof(struct pci6208_board))
|
||||
|
||||
static struct comedi_driver driver_pci6208 = {
|
||||
driver_name:PCI6208_DRIVER_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:pci6208_attach,
|
||||
detach:pci6208_detach,
|
||||
.driver_name = PCI6208_DRIVER_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = pci6208_attach,
|
||||
.detach = pci6208_detach,
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_pci6208, pci6208_pci_table);
|
||||
|
@ -67,10 +67,10 @@ struct adl_pci7296_private {
|
||||
static int adl_pci7296_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int adl_pci7296_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_adl_pci7296 = {
|
||||
driver_name:"adl_pci7296",
|
||||
module:THIS_MODULE,
|
||||
attach:adl_pci7296_attach,
|
||||
detach:adl_pci7296_detach,
|
||||
.driver_name = "adl_pci7296",
|
||||
.module = THIS_MODULE,
|
||||
.attach = adl_pci7296_attach,
|
||||
.detach = adl_pci7296_detach,
|
||||
};
|
||||
|
||||
static int adl_pci7296_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
|
@ -61,10 +61,10 @@ struct adl_pci7432_private {
|
||||
static int adl_pci7432_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int adl_pci7432_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_adl_pci7432 = {
|
||||
driver_name:"adl_pci7432",
|
||||
module:THIS_MODULE,
|
||||
attach:adl_pci7432_attach,
|
||||
detach:adl_pci7432_detach,
|
||||
.driver_name = "adl_pci7432",
|
||||
.module = THIS_MODULE,
|
||||
.attach = adl_pci7432_attach,
|
||||
.detach = adl_pci7432_detach,
|
||||
};
|
||||
|
||||
/* Digital IO */
|
||||
|
@ -73,10 +73,10 @@ struct adl_pci8164_private {
|
||||
static int adl_pci8164_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int adl_pci8164_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_adl_pci8164 = {
|
||||
driver_name:"adl_pci8164",
|
||||
module:THIS_MODULE,
|
||||
attach:adl_pci8164_attach,
|
||||
detach:adl_pci8164_detach,
|
||||
.driver_name = "adl_pci8164",
|
||||
.module = THIS_MODULE,
|
||||
.attach = adl_pci8164_attach,
|
||||
.detach = adl_pci8164_detach,
|
||||
};
|
||||
|
||||
static int adl_pci8164_insn_read_msts(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
|
@ -309,27 +309,27 @@ struct pci9111_board {
|
||||
|
||||
static const struct pci9111_board pci9111_boards[] = {
|
||||
{
|
||||
name: "pci9111_hr",
|
||||
device_id:PCI9111_HR_DEVICE_ID,
|
||||
ai_channel_nbr:PCI9111_AI_CHANNEL_NBR,
|
||||
ao_channel_nbr:PCI9111_AO_CHANNEL_NBR,
|
||||
ai_resolution:PCI9111_HR_AI_RESOLUTION,
|
||||
ai_resolution_mask:PCI9111_HR_AI_RESOLUTION_MASK,
|
||||
ao_resolution:PCI9111_AO_RESOLUTION,
|
||||
ao_resolution_mask:PCI9111_AO_RESOLUTION_MASK,
|
||||
ai_range_list:&pci9111_hr_ai_range,
|
||||
ao_range_list:&range_bipolar10,
|
||||
ai_acquisition_period_min_ns:PCI9111_AI_ACQUISITION_PERIOD_MIN_NS}
|
||||
.name = "pci9111_hr",
|
||||
.device_id = PCI9111_HR_DEVICE_ID,
|
||||
.ai_channel_nbr = PCI9111_AI_CHANNEL_NBR,
|
||||
.ao_channel_nbr = PCI9111_AO_CHANNEL_NBR,
|
||||
.ai_resolution = PCI9111_HR_AI_RESOLUTION,
|
||||
.ai_resolution_mask = PCI9111_HR_AI_RESOLUTION_MASK,
|
||||
.ao_resolution = PCI9111_AO_RESOLUTION,
|
||||
.ao_resolution_mask = PCI9111_AO_RESOLUTION_MASK,
|
||||
.ai_range_list = &pci9111_hr_ai_range,
|
||||
.ao_range_list = &range_bipolar10,
|
||||
.ai_acquisition_period_min_ns = PCI9111_AI_ACQUISITION_PERIOD_MIN_NS}
|
||||
};
|
||||
|
||||
#define pci9111_board_nbr \
|
||||
(sizeof(pci9111_boards)/sizeof(struct pci9111_board))
|
||||
|
||||
static struct comedi_driver pci9111_driver = {
|
||||
driver_name:PCI9111_DRIVER_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:pci9111_attach,
|
||||
detach:pci9111_detach,
|
||||
.driver_name = PCI9111_DRIVER_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = pci9111_attach,
|
||||
.detach = pci9111_detach,
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(pci9111_driver, pci9111_pci_table);
|
||||
|
@ -231,13 +231,13 @@ static const struct boardtype boardtypes[] = {
|
||||
#define n_boardtypes (sizeof(boardtypes)/sizeof(struct boardtype))
|
||||
|
||||
static struct comedi_driver driver_pci9118 = {
|
||||
driver_name:"adl_pci9118",
|
||||
module:THIS_MODULE,
|
||||
attach:pci9118_attach,
|
||||
detach:pci9118_detach,
|
||||
num_names:n_boardtypes,
|
||||
board_name:&boardtypes[0].name,
|
||||
offset:sizeof(struct boardtype),
|
||||
.driver_name = "adl_pci9118",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pci9118_attach,
|
||||
.detach = pci9118_detach,
|
||||
.num_names = n_boardtypes,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.offset = sizeof(struct boardtype),
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_pci9118, pci9118_pci_table);
|
||||
|
@ -127,20 +127,20 @@ struct adq12b_board {
|
||||
|
||||
static const struct adq12b_board adq12b_boards[] = {
|
||||
{
|
||||
name: "adq12b",
|
||||
ai_se_chans: 16,
|
||||
ai_diff_chans: 8,
|
||||
ai_bits: 12,
|
||||
di_chans: 5,
|
||||
do_chans: 8
|
||||
.name = "adq12b",
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 12,
|
||||
.di_chans = 5,
|
||||
.do_chans = 8
|
||||
}
|
||||
// potentially, more adq-based deviced will be added
|
||||
/*,
|
||||
name: "adq12b",
|
||||
ai_chans: 16, // this is just for reference, hardcoded again later
|
||||
ai_bits: 12,
|
||||
di_chans: 8,
|
||||
do_chans: 5
|
||||
.name = "adq12b",
|
||||
.ai_chans = 16, // this is just for reference, hardcoded again later
|
||||
.ai_bits = 12,
|
||||
.di_chans = 8,
|
||||
.do_chans = 5
|
||||
}*/
|
||||
};
|
||||
|
||||
|
@ -116,15 +116,15 @@ struct pci1723_board {
|
||||
|
||||
static const struct pci1723_board boardtypes[] = {
|
||||
{
|
||||
name: "pci1723",
|
||||
vendor_id:ADVANTECH_VENDOR,
|
||||
device_id:0x1723,
|
||||
iorange: IORANGE_1723,
|
||||
cardtype:TYPE_PCI1723,
|
||||
n_aochan:8,
|
||||
n_diochan:16,
|
||||
ao_maxdata:0xffff,
|
||||
rangelist_ao:&range_pci1723,
|
||||
.name = "pci1723",
|
||||
.vendor_id = ADVANTECH_VENDOR,
|
||||
.device_id = 0x1723,
|
||||
.iorange = IORANGE_1723,
|
||||
.cardtype = TYPE_PCI1723,
|
||||
.n_aochan = 8,
|
||||
.n_diochan = 16,
|
||||
.ao_maxdata = 0xffff,
|
||||
.rangelist_ao = &range_pci1723,
|
||||
},
|
||||
};
|
||||
|
||||
@ -149,10 +149,10 @@ static int pci1723_detach(struct comedi_device *dev);
|
||||
#define n_boardtypes (sizeof(boardtypes)/sizeof(struct pci1723_board))
|
||||
|
||||
static struct comedi_driver driver_pci1723 = {
|
||||
driver_name:"adv_pci1723",
|
||||
module:THIS_MODULE,
|
||||
attach:pci1723_attach,
|
||||
detach:pci1723_detach,
|
||||
.driver_name = "adv_pci1723",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pci1723_attach,
|
||||
.detach = pci1723_detach,
|
||||
};
|
||||
|
||||
/* this structure is for data unique to this hardware driver. */
|
||||
|
@ -323,10 +323,10 @@ static const struct dio_boardtype boardtypes[] = {
|
||||
#define n_boardtypes (sizeof(boardtypes)/sizeof(struct dio_boardtype))
|
||||
|
||||
static struct comedi_driver driver_pci_dio = {
|
||||
driver_name:"adv_pci_dio",
|
||||
module:THIS_MODULE,
|
||||
attach:pci_dio_attach,
|
||||
detach:pci_dio_detach
|
||||
.driver_name = "adv_pci_dio",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pci_dio_attach,
|
||||
.detach = pci_dio_detach
|
||||
};
|
||||
|
||||
struct pci_dio_private {
|
||||
|
@ -77,7 +77,7 @@ struct aio12_8_boardtype {
|
||||
|
||||
static const struct aio12_8_boardtype board_types[] = {
|
||||
{
|
||||
name: "aio_aio12_8"},
|
||||
.name = "aio_aio12_8"},
|
||||
};
|
||||
|
||||
#define thisboard ((const struct aio12_8_boardtype *) dev->board_ptr)
|
||||
@ -214,13 +214,13 @@ static int aio_aio12_8_detach(struct comedi_device *dev)
|
||||
}
|
||||
|
||||
static struct comedi_driver driver_aio_aio12_8 = {
|
||||
driver_name:"aio_aio12_8",
|
||||
module:THIS_MODULE,
|
||||
attach:aio_aio12_8_attach,
|
||||
detach:aio_aio12_8_detach,
|
||||
board_name:&board_types[0].name,
|
||||
num_names:1,
|
||||
offset:sizeof(struct aio12_8_boardtype),
|
||||
.driver_name = "aio_aio12_8",
|
||||
.module = THIS_MODULE,
|
||||
.attach = aio_aio12_8_attach,
|
||||
.detach = aio_aio12_8_detach,
|
||||
.board_name = &board_types[0].name,
|
||||
.num_names = 1,
|
||||
.offset = sizeof(struct aio12_8_boardtype),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_aio_aio12_8);
|
||||
|
@ -52,9 +52,9 @@ struct aio_iiro_16_board {
|
||||
|
||||
static const struct aio_iiro_16_board aio_iiro_16_boards[] = {
|
||||
{
|
||||
name: "aio_iiro_16",
|
||||
di: 16,
|
||||
do_: 16},
|
||||
.name = "aio_iiro_16",
|
||||
.di = 16,
|
||||
.do_ = 16},
|
||||
};
|
||||
|
||||
#define thisboard ((const struct aio_iiro_16_board *) dev->board_ptr)
|
||||
@ -72,13 +72,13 @@ static int aio_iiro_16_attach(struct comedi_device *dev, struct comedi_devconfig
|
||||
static int aio_iiro_16_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver_aio_iiro_16 = {
|
||||
driver_name:"aio_iiro_16",
|
||||
module:THIS_MODULE,
|
||||
attach:aio_iiro_16_attach,
|
||||
detach:aio_iiro_16_detach,
|
||||
board_name:&aio_iiro_16_boards[0].name,
|
||||
offset:sizeof(struct aio_iiro_16_board),
|
||||
num_names:sizeof(aio_iiro_16_boards) / sizeof(struct aio_iiro_16_board),
|
||||
.driver_name = "aio_iiro_16",
|
||||
.module = THIS_MODULE,
|
||||
.attach = aio_iiro_16_attach,
|
||||
.detach = aio_iiro_16_detach,
|
||||
.board_name = &aio_iiro_16_boards[0].name,
|
||||
.offset = sizeof(struct aio_iiro_16_board),
|
||||
.num_names = sizeof(aio_iiro_16_boards) / sizeof(struct aio_iiro_16_board),
|
||||
};
|
||||
|
||||
static int aio_iiro_16_dio_insn_bits_read(struct comedi_device *dev,
|
||||
|
@ -290,59 +290,59 @@ struct dio200_board {
|
||||
|
||||
static const struct dio200_board dio200_boards[] = {
|
||||
{
|
||||
name: "pc212e",
|
||||
bustype: isa_bustype,
|
||||
model: pc212e_model,
|
||||
layout: pc212_layout,
|
||||
.name = "pc212e",
|
||||
.bustype = isa_bustype,
|
||||
.model = pc212e_model,
|
||||
.layout = pc212_layout,
|
||||
},
|
||||
{
|
||||
name: "pc214e",
|
||||
bustype: isa_bustype,
|
||||
model: pc214e_model,
|
||||
layout: pc214_layout,
|
||||
.name = "pc214e",
|
||||
.bustype = isa_bustype,
|
||||
.model = pc214e_model,
|
||||
.layout = pc214_layout,
|
||||
},
|
||||
{
|
||||
name: "pc215e",
|
||||
bustype: isa_bustype,
|
||||
model: pc215e_model,
|
||||
layout: pc215_layout,
|
||||
.name = "pc215e",
|
||||
.bustype = isa_bustype,
|
||||
.model = pc215e_model,
|
||||
.layout = pc215_layout,
|
||||
},
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: "pci215",
|
||||
devid: PCI_DEVICE_ID_AMPLICON_PCI215,
|
||||
bustype: pci_bustype,
|
||||
model: pci215_model,
|
||||
layout: pc215_layout,
|
||||
.name = "pci215",
|
||||
.devid = PCI_DEVICE_ID_AMPLICON_PCI215,
|
||||
.bustype = pci_bustype,
|
||||
.model = pci215_model,
|
||||
.layout = pc215_layout,
|
||||
},
|
||||
#endif
|
||||
{
|
||||
name: "pc218e",
|
||||
bustype: isa_bustype,
|
||||
model: pc218e_model,
|
||||
layout: pc218_layout,
|
||||
.name = "pc218e",
|
||||
.bustype = isa_bustype,
|
||||
.model = pc218e_model,
|
||||
.layout = pc218_layout,
|
||||
},
|
||||
{
|
||||
name: "pc272e",
|
||||
bustype: isa_bustype,
|
||||
model: pc272e_model,
|
||||
layout: pc272_layout,
|
||||
.name = "pc272e",
|
||||
.bustype = isa_bustype,
|
||||
.model = pc272e_model,
|
||||
.layout = pc272_layout,
|
||||
},
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: "pci272",
|
||||
devid: PCI_DEVICE_ID_AMPLICON_PCI272,
|
||||
bustype: pci_bustype,
|
||||
model: pci272_model,
|
||||
layout: pc272_layout,
|
||||
.name = "pci272",
|
||||
.devid = PCI_DEVICE_ID_AMPLICON_PCI272,
|
||||
.bustype = pci_bustype,
|
||||
.model = pci272_model,
|
||||
.layout = pc272_layout,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: DIO200_DRIVER_NAME,
|
||||
devid: PCI_DEVICE_ID_INVALID,
|
||||
bustype: pci_bustype,
|
||||
model: anypci_model, /* wildcard */
|
||||
.name = DIO200_DRIVER_NAME,
|
||||
.devid = PCI_DEVICE_ID_INVALID,
|
||||
.bustype = pci_bustype,
|
||||
.model = anypci_model, /* wildcard */
|
||||
},
|
||||
#endif
|
||||
};
|
||||
@ -367,50 +367,50 @@ struct dio200_layout_struct {
|
||||
|
||||
static const struct dio200_layout_struct dio200_layouts[] = {
|
||||
[pc212_layout] = {
|
||||
n_subdevs:6,
|
||||
sdtype: {sd_8255, sd_8254, sd_8254, sd_8254,
|
||||
.n_subdevs = 6,
|
||||
.sdtype = {sd_8255, sd_8254, sd_8254, sd_8254,
|
||||
sd_8254,
|
||||
sd_intr},
|
||||
sdinfo: {0x00, 0x08, 0x0C, 0x10, 0x14,
|
||||
.sdinfo = {0x00, 0x08, 0x0C, 0x10, 0x14,
|
||||
0x3F},
|
||||
has_int_sce:1,
|
||||
has_clk_gat_sce:1,
|
||||
.has_int_sce = 1,
|
||||
.has_clk_gat_sce = 1,
|
||||
},
|
||||
[pc214_layout] = {
|
||||
n_subdevs:4,
|
||||
sdtype: {sd_8255, sd_8255, sd_8254,
|
||||
.n_subdevs = 4,
|
||||
.sdtype = {sd_8255, sd_8255, sd_8254,
|
||||
sd_intr},
|
||||
sdinfo: {0x00, 0x08, 0x10, 0x01},
|
||||
has_int_sce:0,
|
||||
has_clk_gat_sce:0,
|
||||
.sdinfo = {0x00, 0x08, 0x10, 0x01},
|
||||
.has_int_sce = 0,
|
||||
.has_clk_gat_sce = 0,
|
||||
},
|
||||
[pc215_layout] = {
|
||||
n_subdevs:5,
|
||||
sdtype: {sd_8255, sd_8255, sd_8254,
|
||||
.n_subdevs = 5,
|
||||
.sdtype = {sd_8255, sd_8255, sd_8254,
|
||||
sd_8254,
|
||||
sd_intr},
|
||||
sdinfo: {0x00, 0x08, 0x10, 0x14, 0x3F},
|
||||
has_int_sce:1,
|
||||
has_clk_gat_sce:1,
|
||||
.sdinfo = {0x00, 0x08, 0x10, 0x14, 0x3F},
|
||||
.has_int_sce = 1,
|
||||
.has_clk_gat_sce = 1,
|
||||
},
|
||||
[pc218_layout] = {
|
||||
n_subdevs:7,
|
||||
sdtype: {sd_8254, sd_8254, sd_8255, sd_8254,
|
||||
.n_subdevs = 7,
|
||||
.sdtype = {sd_8254, sd_8254, sd_8255, sd_8254,
|
||||
sd_8254,
|
||||
sd_intr},
|
||||
sdinfo: {0x00, 0x04, 0x08, 0x0C, 0x10,
|
||||
.sdinfo = {0x00, 0x04, 0x08, 0x0C, 0x10,
|
||||
0x14,
|
||||
0x3F},
|
||||
has_int_sce:1,
|
||||
has_clk_gat_sce:1,
|
||||
.has_int_sce = 1,
|
||||
.has_clk_gat_sce = 1,
|
||||
},
|
||||
[pc272_layout] = {
|
||||
n_subdevs:4,
|
||||
sdtype: {sd_8255, sd_8255, sd_8255,
|
||||
.n_subdevs = 4,
|
||||
.sdtype = {sd_8255, sd_8255, sd_8255,
|
||||
sd_intr},
|
||||
sdinfo: {0x00, 0x08, 0x10, 0x3F},
|
||||
has_int_sce:1,
|
||||
has_clk_gat_sce:0,
|
||||
.sdinfo = {0x00, 0x08, 0x10, 0x3F},
|
||||
.has_int_sce = 1,
|
||||
.has_clk_gat_sce = 0,
|
||||
},
|
||||
};
|
||||
|
||||
@ -478,13 +478,13 @@ struct dio200_subdev_intr {
|
||||
static int dio200_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dio200_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_amplc_dio200 = {
|
||||
driver_name:DIO200_DRIVER_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:dio200_attach,
|
||||
detach:dio200_detach,
|
||||
board_name:&dio200_boards[0].name,
|
||||
offset:sizeof(struct dio200_board),
|
||||
num_names:sizeof(dio200_boards) / sizeof(struct dio200_board),
|
||||
.driver_name = DIO200_DRIVER_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = dio200_attach,
|
||||
.detach = dio200_detach,
|
||||
.board_name = &dio200_boards[0].name,
|
||||
.offset = sizeof(struct dio200_board),
|
||||
.num_names = sizeof(dio200_boards) / sizeof(struct dio200_board),
|
||||
};
|
||||
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
|
@ -107,27 +107,27 @@ struct pc236_board {
|
||||
};
|
||||
static const struct pc236_board pc236_boards[] = {
|
||||
{
|
||||
name: "pc36at",
|
||||
fancy_name:"PC36AT",
|
||||
bustype: isa_bustype,
|
||||
model: pc36at_model,
|
||||
.name = "pc36at",
|
||||
.fancy_name = "PC36AT",
|
||||
.bustype = isa_bustype,
|
||||
.model = pc36at_model,
|
||||
},
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: "pci236",
|
||||
fancy_name:"PCI236",
|
||||
devid: PCI_DEVICE_ID_AMPLICON_PCI236,
|
||||
bustype: pci_bustype,
|
||||
model: pci236_model,
|
||||
.name = "pci236",
|
||||
.fancy_name = "PCI236",
|
||||
.devid = PCI_DEVICE_ID_AMPLICON_PCI236,
|
||||
.bustype = pci_bustype,
|
||||
.model = pci236_model,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: PC236_DRIVER_NAME,
|
||||
fancy_name:PC236_DRIVER_NAME,
|
||||
devid: PCI_DEVICE_ID_INVALID,
|
||||
bustype: pci_bustype,
|
||||
model: anypci_model, /* wildcard */
|
||||
.name = PC236_DRIVER_NAME,
|
||||
.fancy_name = PC236_DRIVER_NAME,
|
||||
.devid = PCI_DEVICE_ID_INVALID,
|
||||
.bustype = pci_bustype,
|
||||
.model = anypci_model, /* wildcard */
|
||||
},
|
||||
#endif
|
||||
};
|
||||
@ -170,13 +170,13 @@ struct pc236_private {
|
||||
static int pc236_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pc236_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_amplc_pc236 = {
|
||||
driver_name:PC236_DRIVER_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:pc236_attach,
|
||||
detach:pc236_detach,
|
||||
board_name:&pc236_boards[0].name,
|
||||
offset:sizeof(struct pc236_board),
|
||||
num_names:sizeof(pc236_boards) / sizeof(struct pc236_board),
|
||||
.driver_name = PC236_DRIVER_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = pc236_attach,
|
||||
.detach = pc236_detach,
|
||||
.board_name = &pc236_boards[0].name,
|
||||
.offset = sizeof(struct pc236_board),
|
||||
.num_names = sizeof(pc236_boards) / sizeof(struct pc236_board),
|
||||
};
|
||||
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
|
@ -74,27 +74,27 @@ struct pc263_board {
|
||||
};
|
||||
static const struct pc263_board pc263_boards[] = {
|
||||
{
|
||||
name: "pc263",
|
||||
fancy_name:"PC263",
|
||||
bustype: isa_bustype,
|
||||
model: pc263_model,
|
||||
.name = "pc263",
|
||||
.fancy_name = "PC263",
|
||||
.bustype = isa_bustype,
|
||||
.model = pc263_model,
|
||||
},
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: "pci263",
|
||||
fancy_name:"PCI263",
|
||||
devid: PCI_DEVICE_ID_AMPLICON_PCI263,
|
||||
bustype: pci_bustype,
|
||||
model: pci263_model,
|
||||
.name = "pci263",
|
||||
.fancy_name = "PCI263",
|
||||
.devid = PCI_DEVICE_ID_AMPLICON_PCI263,
|
||||
.bustype = pci_bustype,
|
||||
.model = pci263_model,
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: PC263_DRIVER_NAME,
|
||||
fancy_name:PC263_DRIVER_NAME,
|
||||
devid: PCI_DEVICE_ID_INVALID,
|
||||
bustype: pci_bustype,
|
||||
model: anypci_model, /* wildcard */
|
||||
.name = PC263_DRIVER_NAME,
|
||||
.fancy_name = PC263_DRIVER_NAME,
|
||||
.devid = PCI_DEVICE_ID_INVALID,
|
||||
.bustype = pci_bustype,
|
||||
.model = anypci_model, /* wildcard */
|
||||
},
|
||||
#endif
|
||||
};
|
||||
@ -135,13 +135,13 @@ struct pc263_private {
|
||||
static int pc263_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pc263_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_amplc_pc263 = {
|
||||
driver_name:PC263_DRIVER_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:pc263_attach,
|
||||
detach:pc263_detach,
|
||||
board_name:&pc263_boards[0].name,
|
||||
offset:sizeof(struct pc263_board),
|
||||
num_names:sizeof(pc263_boards) / sizeof(struct pc263_board),
|
||||
.driver_name = PC263_DRIVER_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = pc263_attach,
|
||||
.detach = pc263_detach,
|
||||
.board_name = &pc263_boards[0].name,
|
||||
.offset = sizeof(struct pc263_board),
|
||||
.num_names = sizeof(pc263_boards) / sizeof(struct pc263_board),
|
||||
};
|
||||
|
||||
static int pc263_request_region(unsigned minor, unsigned long from,
|
||||
|
@ -358,23 +358,23 @@ struct pci224_board {
|
||||
|
||||
static const struct pci224_board pci224_boards[] = {
|
||||
{
|
||||
name: "pci224",
|
||||
devid: PCI_DEVICE_ID_AMPLICON_PCI224,
|
||||
model: pci224_model,
|
||||
ao_chans:16,
|
||||
ao_bits: 12,
|
||||
.name = "pci224",
|
||||
.devid = PCI_DEVICE_ID_AMPLICON_PCI224,
|
||||
.model = pci224_model,
|
||||
.ao_chans = 16,
|
||||
.ao_bits = 12,
|
||||
},
|
||||
{
|
||||
name: "pci234",
|
||||
devid: PCI_DEVICE_ID_AMPLICON_PCI234,
|
||||
model: pci234_model,
|
||||
ao_chans:4,
|
||||
ao_bits: 16,
|
||||
.name = "pci234",
|
||||
.devid = PCI_DEVICE_ID_AMPLICON_PCI234,
|
||||
.model = pci234_model,
|
||||
.ao_chans = 4,
|
||||
.ao_bits = 16,
|
||||
},
|
||||
{
|
||||
name: DRIVER_NAME,
|
||||
devid: PCI_DEVICE_ID_INVALID,
|
||||
model: any_model, /* wildcard */
|
||||
.name = DRIVER_NAME,
|
||||
.devid = PCI_DEVICE_ID_INVALID,
|
||||
.model = any_model, /* wildcard */
|
||||
},
|
||||
};
|
||||
|
||||
@ -431,13 +431,13 @@ struct pci224_private {
|
||||
static int pci224_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pci224_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_amplc_pci224 = {
|
||||
driver_name:DRIVER_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:pci224_attach,
|
||||
detach:pci224_detach,
|
||||
board_name:&pci224_boards[0].name,
|
||||
offset:sizeof(struct pci224_board),
|
||||
num_names:sizeof(pci224_boards) / sizeof(struct pci224_board),
|
||||
.driver_name = DRIVER_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = pci224_attach,
|
||||
.detach = pci224_detach,
|
||||
.board_name = &pci224_boards[0].name,
|
||||
.offset = sizeof(struct pci224_board),
|
||||
.num_names = sizeof(pci224_boards) / sizeof(struct pci224_board),
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_amplc_pci224, pci224_pci_table);
|
||||
|
@ -457,46 +457,46 @@ struct pci230_board {
|
||||
};
|
||||
static const struct pci230_board pci230_boards[] = {
|
||||
{
|
||||
name: "pci230+",
|
||||
id: PCI_DEVICE_ID_PCI230,
|
||||
ai_chans:16,
|
||||
ai_bits: 16,
|
||||
ao_chans:2,
|
||||
ao_bits: 12,
|
||||
have_dio:1,
|
||||
min_hwver:1,
|
||||
.name = "pci230+",
|
||||
.id = PCI_DEVICE_ID_PCI230,
|
||||
.ai_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ao_chans = 2,
|
||||
.ao_bits = 12,
|
||||
.have_dio = 1,
|
||||
.min_hwver = 1,
|
||||
},
|
||||
{
|
||||
name: "pci260+",
|
||||
id: PCI_DEVICE_ID_PCI260,
|
||||
ai_chans:16,
|
||||
ai_bits: 16,
|
||||
ao_chans:0,
|
||||
ao_bits: 0,
|
||||
have_dio:0,
|
||||
min_hwver:1,
|
||||
.name = "pci260+",
|
||||
.id = PCI_DEVICE_ID_PCI260,
|
||||
.ai_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ao_chans = 0,
|
||||
.ao_bits = 0,
|
||||
.have_dio = 0,
|
||||
.min_hwver = 1,
|
||||
},
|
||||
{
|
||||
name: "pci230",
|
||||
id: PCI_DEVICE_ID_PCI230,
|
||||
ai_chans:16,
|
||||
ai_bits: 12,
|
||||
ao_chans:2,
|
||||
ao_bits: 12,
|
||||
have_dio:1,
|
||||
.name = "pci230",
|
||||
.id = PCI_DEVICE_ID_PCI230,
|
||||
.ai_chans = 16,
|
||||
.ai_bits = 12,
|
||||
.ao_chans = 2,
|
||||
.ao_bits = 12,
|
||||
.have_dio = 1,
|
||||
},
|
||||
{
|
||||
name: "pci260",
|
||||
id: PCI_DEVICE_ID_PCI260,
|
||||
ai_chans:16,
|
||||
ai_bits: 12,
|
||||
ao_chans:0,
|
||||
ao_bits: 0,
|
||||
have_dio:0,
|
||||
.name = "pci260",
|
||||
.id = PCI_DEVICE_ID_PCI260,
|
||||
.ai_chans = 16,
|
||||
.ai_bits = 12,
|
||||
.ao_chans = 0,
|
||||
.ao_bits = 0,
|
||||
.have_dio = 0,
|
||||
},
|
||||
{
|
||||
name: "amplc_pci230", /* Wildcard matches any above */
|
||||
id: PCI_DEVICE_ID_INVALID,
|
||||
.name = "amplc_pci230", /* Wildcard matches any above */
|
||||
.id = PCI_DEVICE_ID_INVALID,
|
||||
},
|
||||
};
|
||||
|
||||
@ -606,13 +606,13 @@ static const unsigned char pci230_ao_bipolar[2] = { 0, 1 };
|
||||
static int pci230_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pci230_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_amplc_pci230 = {
|
||||
driver_name:"amplc_pci230",
|
||||
module:THIS_MODULE,
|
||||
attach:pci230_attach,
|
||||
detach:pci230_detach,
|
||||
board_name:&pci230_boards[0].name,
|
||||
offset:sizeof(pci230_boards[0]),
|
||||
num_names:sizeof(pci230_boards) / sizeof(pci230_boards[0]),
|
||||
.driver_name = "amplc_pci230",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pci230_attach,
|
||||
.detach = pci230_detach,
|
||||
.board_name = &pci230_boards[0].name,
|
||||
.offset = sizeof(pci230_boards[0]),
|
||||
.num_names = sizeof(pci230_boards) / sizeof(pci230_boards[0]),
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_amplc_pci230, pci230_pci_table);
|
||||
|
@ -100,10 +100,10 @@ union encvaluetype {
|
||||
static int c6xdigio_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int c6xdigio_detach(struct comedi_device *dev);
|
||||
struct comedi_driver driver_c6xdigio = {
|
||||
driver_name:"c6xdigio",
|
||||
module:THIS_MODULE,
|
||||
attach:c6xdigio_attach,
|
||||
detach:c6xdigio_detach,
|
||||
.driver_name = "c6xdigio",
|
||||
.module = THIS_MODULE,
|
||||
.attach = c6xdigio_attach,
|
||||
.detach = c6xdigio_detach,
|
||||
};
|
||||
|
||||
static void C6X_pwmInit(unsigned long baseAddr)
|
||||
|
@ -61,19 +61,19 @@ struct das16cs_board {
|
||||
};
|
||||
static const struct das16cs_board das16cs_boards[] = {
|
||||
{
|
||||
device_id:0x0000,/* unknown */
|
||||
name: "PC-CARD DAS16/16",
|
||||
n_ao_chans:0,
|
||||
.device_id = 0x0000,/* unknown */
|
||||
.name = "PC-CARD DAS16/16",
|
||||
.n_ao_chans = 0,
|
||||
},
|
||||
{
|
||||
device_id:0x0039,
|
||||
name: "PC-CARD DAS16/16-AO",
|
||||
n_ao_chans:2,
|
||||
.device_id = 0x0039,
|
||||
.name = "PC-CARD DAS16/16-AO",
|
||||
.n_ao_chans = 2,
|
||||
},
|
||||
{
|
||||
device_id:0x4009,
|
||||
name: "PCM-DAS16s/16",
|
||||
n_ao_chans:0,
|
||||
.device_id = 0x4009,
|
||||
.name = "PCM-DAS16s/16",
|
||||
.n_ao_chans = 0,
|
||||
},
|
||||
};
|
||||
|
||||
@ -92,10 +92,10 @@ struct das16cs_private {
|
||||
static int das16cs_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int das16cs_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_das16cs = {
|
||||
driver_name:"cb_das16_cs",
|
||||
module:THIS_MODULE,
|
||||
attach:das16cs_attach,
|
||||
detach:das16cs_detach,
|
||||
.driver_name = "cb_das16_cs",
|
||||
.module = THIS_MODULE,
|
||||
.attach = das16cs_attach,
|
||||
.detach = das16cs_detach,
|
||||
};
|
||||
|
||||
static struct pcmcia_device *cur_dev = NULL;
|
||||
|
@ -260,118 +260,118 @@ struct cb_pcidas_board {
|
||||
|
||||
static const struct cb_pcidas_board cb_pcidas_boards[] = {
|
||||
{
|
||||
name: "pci-das1602/16",
|
||||
device_id:0x1,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 16,
|
||||
ai_speed:5000,
|
||||
ao_nchan:2,
|
||||
has_ao_fifo:1,
|
||||
ao_scan_speed:10000,
|
||||
fifo_size:512,
|
||||
ranges: &cb_pcidas_ranges,
|
||||
trimpot: AD8402,
|
||||
has_dac08:1,
|
||||
.name = "pci-das1602/16",
|
||||
.device_id = 0x1,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 2,
|
||||
.has_ao_fifo = 1,
|
||||
.ao_scan_speed = 10000,
|
||||
.fifo_size = 512,
|
||||
.ranges = &cb_pcidas_ranges,
|
||||
.trimpot = AD8402,
|
||||
.has_dac08 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das1200",
|
||||
device_id:0xF,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 12,
|
||||
ai_speed:3200,
|
||||
ao_nchan:2,
|
||||
has_ao_fifo:0,
|
||||
fifo_size:1024,
|
||||
ranges: &cb_pcidas_ranges,
|
||||
trimpot: AD7376,
|
||||
has_dac08:0,
|
||||
.name = "pci-das1200",
|
||||
.device_id = 0xF,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 3200,
|
||||
.ao_nchan = 2,
|
||||
.has_ao_fifo = 0,
|
||||
.fifo_size = 1024,
|
||||
.ranges = &cb_pcidas_ranges,
|
||||
.trimpot = AD7376,
|
||||
.has_dac08 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das1602/12",
|
||||
device_id:0x10,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 12,
|
||||
ai_speed:3200,
|
||||
ao_nchan:2,
|
||||
has_ao_fifo:1,
|
||||
ao_scan_speed:4000,
|
||||
fifo_size:1024,
|
||||
ranges: &cb_pcidas_ranges,
|
||||
trimpot: AD7376,
|
||||
has_dac08:0,
|
||||
.name = "pci-das1602/12",
|
||||
.device_id = 0x10,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 3200,
|
||||
.ao_nchan = 2,
|
||||
.has_ao_fifo = 1,
|
||||
.ao_scan_speed = 4000,
|
||||
.fifo_size = 1024,
|
||||
.ranges = &cb_pcidas_ranges,
|
||||
.trimpot = AD7376,
|
||||
.has_dac08 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das1200/jr",
|
||||
device_id:0x19,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 12,
|
||||
ai_speed:3200,
|
||||
ao_nchan:0,
|
||||
has_ao_fifo:0,
|
||||
fifo_size:1024,
|
||||
ranges: &cb_pcidas_ranges,
|
||||
trimpot: AD7376,
|
||||
has_dac08:0,
|
||||
.name = "pci-das1200/jr",
|
||||
.device_id = 0x19,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 3200,
|
||||
.ao_nchan = 0,
|
||||
.has_ao_fifo = 0,
|
||||
.fifo_size = 1024,
|
||||
.ranges = &cb_pcidas_ranges,
|
||||
.trimpot = AD7376,
|
||||
.has_dac08 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das1602/16/jr",
|
||||
device_id:0x1C,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 16,
|
||||
ai_speed:5000,
|
||||
ao_nchan:0,
|
||||
has_ao_fifo:0,
|
||||
fifo_size:512,
|
||||
ranges: &cb_pcidas_ranges,
|
||||
trimpot: AD8402,
|
||||
has_dac08:1,
|
||||
.name = "pci-das1602/16/jr",
|
||||
.device_id = 0x1C,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 0,
|
||||
.has_ao_fifo = 0,
|
||||
.fifo_size = 512,
|
||||
.ranges = &cb_pcidas_ranges,
|
||||
.trimpot = AD8402,
|
||||
.has_dac08 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das1000",
|
||||
device_id:0x4C,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 12,
|
||||
ai_speed:4000,
|
||||
ao_nchan:0,
|
||||
has_ao_fifo:0,
|
||||
fifo_size:1024,
|
||||
ranges: &cb_pcidas_ranges,
|
||||
trimpot: AD7376,
|
||||
has_dac08:0,
|
||||
.name = "pci-das1000",
|
||||
.device_id = 0x4C,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 4000,
|
||||
.ao_nchan = 0,
|
||||
.has_ao_fifo = 0,
|
||||
.fifo_size = 1024,
|
||||
.ranges = &cb_pcidas_ranges,
|
||||
.trimpot = AD7376,
|
||||
.has_dac08 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das1001",
|
||||
device_id:0x1a,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 12,
|
||||
ai_speed:6800,
|
||||
ao_nchan:2,
|
||||
has_ao_fifo:0,
|
||||
fifo_size:1024,
|
||||
ranges: &cb_pcidas_alt_ranges,
|
||||
trimpot: AD7376,
|
||||
has_dac08:0,
|
||||
.name = "pci-das1001",
|
||||
.device_id = 0x1a,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 6800,
|
||||
.ao_nchan = 2,
|
||||
.has_ao_fifo = 0,
|
||||
.fifo_size = 1024,
|
||||
.ranges = &cb_pcidas_alt_ranges,
|
||||
.trimpot = AD7376,
|
||||
.has_dac08 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das1002",
|
||||
device_id:0x1b,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 12,
|
||||
ai_speed:6800,
|
||||
ao_nchan:2,
|
||||
has_ao_fifo:0,
|
||||
fifo_size:1024,
|
||||
ranges: &cb_pcidas_ranges,
|
||||
trimpot: AD7376,
|
||||
has_dac08:0,
|
||||
.name = "pci-das1002",
|
||||
.device_id = 0x1b,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 6800,
|
||||
.ao_nchan = 2,
|
||||
.has_ao_fifo = 0,
|
||||
.fifo_size = 1024,
|
||||
.ranges = &cb_pcidas_ranges,
|
||||
.trimpot = AD7376,
|
||||
.has_dac08 = 0,
|
||||
},
|
||||
};
|
||||
|
||||
@ -444,10 +444,10 @@ struct cb_pcidas_private {
|
||||
static int cb_pcidas_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int cb_pcidas_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_cb_pcidas = {
|
||||
driver_name:"cb_pcidas",
|
||||
module:THIS_MODULE,
|
||||
attach:cb_pcidas_attach,
|
||||
detach:cb_pcidas_detach,
|
||||
.driver_name = "cb_pcidas",
|
||||
.module = THIS_MODULE,
|
||||
.attach = cb_pcidas_attach,
|
||||
.detach = cb_pcidas_detach,
|
||||
};
|
||||
|
||||
static int cb_pcidas_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice * s,
|
||||
|
@ -560,24 +560,24 @@ struct pcidas64_board {
|
||||
};
|
||||
|
||||
static const struct hw_fifo_info ai_fifo_4020 = {
|
||||
num_segments:2,
|
||||
max_segment_length:0x8000,
|
||||
sample_packing_ratio:2,
|
||||
fifo_size_reg_mask:0x7f,
|
||||
.num_segments = 2,
|
||||
.max_segment_length = 0x8000,
|
||||
.sample_packing_ratio = 2,
|
||||
.fifo_size_reg_mask = 0x7f,
|
||||
};
|
||||
|
||||
static const struct hw_fifo_info ai_fifo_64xx = {
|
||||
num_segments:4,
|
||||
max_segment_length:0x800,
|
||||
sample_packing_ratio:1,
|
||||
fifo_size_reg_mask:0x3f,
|
||||
.num_segments = 4,
|
||||
.max_segment_length = 0x800,
|
||||
.sample_packing_ratio = 1,
|
||||
.fifo_size_reg_mask = 0x3f,
|
||||
};
|
||||
|
||||
static const struct hw_fifo_info ai_fifo_60xx = {
|
||||
num_segments:4,
|
||||
max_segment_length:0x800,
|
||||
sample_packing_ratio:1,
|
||||
fifo_size_reg_mask:0x7f,
|
||||
.num_segments = 4,
|
||||
.max_segment_length = 0x800,
|
||||
.sample_packing_ratio = 1,
|
||||
.fifo_size_reg_mask = 0x7f,
|
||||
};
|
||||
|
||||
/* maximum number of dma transfers we will chain together into a ring
|
||||
@ -597,84 +597,84 @@ static const int bytes_in_sample = 2;
|
||||
|
||||
static const struct pcidas64_board pcidas64_boards[] = {
|
||||
{
|
||||
name: "pci-das6402/16",
|
||||
device_id:0x1d,
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:5000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ao_range_table:&ao_ranges_64xx,
|
||||
ao_range_code:ao_range_code_64xx,
|
||||
ai_fifo: &ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das6402/16",
|
||||
.device_id = 0x1d,
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ao_range_table = &ao_ranges_64xx,
|
||||
.ao_range_code = ao_range_code_64xx,
|
||||
.ai_fifo = &ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das6402/12", /* XXX check */
|
||||
device_id:0x1e,
|
||||
ai_se_chans:64,
|
||||
ai_bits: 12,
|
||||
ai_speed:5000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 12,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ao_range_table:&ao_ranges_64xx,
|
||||
ao_range_code:ao_range_code_64xx,
|
||||
ai_fifo: &ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das6402/12", /* XXX check */
|
||||
.device_id = 0x1e,
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 12,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ao_range_table = &ao_ranges_64xx,
|
||||
.ao_range_code = ao_range_code_64xx,
|
||||
.ai_fifo = &ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m1/16",
|
||||
device_id:0x35,
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:1000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ao_range_table:&ao_ranges_64xx,
|
||||
ao_range_code:ao_range_code_64xx,
|
||||
ai_fifo: &ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m1/16",
|
||||
.device_id = 0x35,
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 1000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ao_range_table = &ao_ranges_64xx,
|
||||
.ao_range_code = ao_range_code_64xx,
|
||||
.ai_fifo = &ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m2/16",
|
||||
device_id:0x36,
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:500,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ao_range_table:&ao_ranges_64xx,
|
||||
ao_range_code:ao_range_code_64xx,
|
||||
ai_fifo: &ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m2/16",
|
||||
.device_id = 0x36,
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 500,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ao_range_table = &ao_ranges_64xx,
|
||||
.ao_range_code = ao_range_code_64xx,
|
||||
.ai_fifo = &ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m3/16",
|
||||
device_id:0x37,
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:333,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ao_range_table:&ao_ranges_64xx,
|
||||
ao_range_code:ao_range_code_64xx,
|
||||
ai_fifo: &ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m3/16",
|
||||
.device_id = 0x37,
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 333,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ao_range_table = &ao_ranges_64xx,
|
||||
.ao_range_code = ao_range_code_64xx,
|
||||
.ai_fifo = &ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
.name = "pci-das6013",
|
||||
@ -692,324 +692,324 @@ static const struct pcidas64_board pcidas64_boards[] = {
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6014",
|
||||
device_id:0x79,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 16,
|
||||
ai_speed:5000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:100000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_60xx,
|
||||
ao_range_table:&ao_ranges_60xx,
|
||||
ao_range_code:ao_range_code_60xx,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6014",
|
||||
.device_id = 0x79,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 100000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_60xx,
|
||||
.ao_range_table = &ao_ranges_60xx,
|
||||
.ao_range_code = ao_range_code_60xx,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6023",
|
||||
device_id:0x5d,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 12,
|
||||
ai_speed:5000,
|
||||
ao_nchan:0,
|
||||
ao_scan_speed:100000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_60xx,
|
||||
ao_range_table:&ao_ranges_60xx,
|
||||
ao_range_code:ao_range_code_60xx,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das6023",
|
||||
.device_id = 0x5d,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 0,
|
||||
.ao_scan_speed = 100000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_60xx,
|
||||
.ao_range_table = &ao_ranges_60xx,
|
||||
.ao_range_code = ao_range_code_60xx,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das6025",
|
||||
device_id:0x5e,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 12,
|
||||
ai_speed:5000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 12,
|
||||
ao_scan_speed:100000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_60xx,
|
||||
ao_range_table:&ao_ranges_60xx,
|
||||
ao_range_code:ao_range_code_60xx,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das6025",
|
||||
.device_id = 0x5e,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 12,
|
||||
.ao_scan_speed = 100000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_60xx,
|
||||
.ao_range_table = &ao_ranges_60xx,
|
||||
.ao_range_code = ao_range_code_60xx,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das6030",
|
||||
device_id:0x5f,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 16,
|
||||
ai_speed:10000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_6030,
|
||||
ao_range_table:&ao_ranges_6030,
|
||||
ao_range_code:ao_range_code_6030,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6030",
|
||||
.device_id = 0x5f,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 10000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_6030,
|
||||
.ao_range_table = &ao_ranges_6030,
|
||||
.ao_range_code = ao_range_code_6030,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6031",
|
||||
device_id:0x60,
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:10000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_6030,
|
||||
ao_range_table:&ao_ranges_6030,
|
||||
ao_range_code:ao_range_code_6030,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6031",
|
||||
.device_id = 0x60,
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 10000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_6030,
|
||||
.ao_range_table = &ao_ranges_6030,
|
||||
.ao_range_code = ao_range_code_6030,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6032",
|
||||
device_id:0x61,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 16,
|
||||
ai_speed:10000,
|
||||
ao_nchan:0,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_6030,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6032",
|
||||
.device_id = 0x61,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 10000,
|
||||
.ao_nchan = 0,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_6030,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6033",
|
||||
device_id:0x62,
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:10000,
|
||||
ao_nchan:0,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_6030,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6033",
|
||||
.device_id = 0x62,
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 10000,
|
||||
.ao_nchan = 0,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_6030,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6034",
|
||||
device_id:0x63,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 16,
|
||||
ai_speed:5000,
|
||||
ao_nchan:0,
|
||||
ao_scan_speed:0,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_60xx,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6034",
|
||||
.device_id = 0x63,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 0,
|
||||
.ao_scan_speed = 0,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_60xx,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6035",
|
||||
device_id:0x64,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 16,
|
||||
ai_speed:5000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 12,
|
||||
ao_scan_speed:100000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_60xx,
|
||||
ao_range_table:&ao_ranges_60xx,
|
||||
ao_range_code:ao_range_code_60xx,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6035",
|
||||
.device_id = 0x64,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 12,
|
||||
.ao_scan_speed = 100000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_60xx,
|
||||
.ao_range_table = &ao_ranges_60xx,
|
||||
.ao_range_code = ao_range_code_60xx,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6036",
|
||||
device_id:0x6f,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 16,
|
||||
ai_speed:5000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:100000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_60xx,
|
||||
ao_range_table:&ao_ranges_60xx,
|
||||
ao_range_code:ao_range_code_60xx,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6036",
|
||||
.device_id = 0x6f,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 100000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_60xx,
|
||||
.ao_range_table = &ao_ranges_60xx,
|
||||
.ao_range_code = ao_range_code_60xx,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6040",
|
||||
device_id:0x65,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 12,
|
||||
ai_speed:2000,
|
||||
ao_nchan:2,
|
||||
ao_bits: 12,
|
||||
ao_scan_speed:1000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_6052,
|
||||
ao_range_table:&ao_ranges_6030,
|
||||
ao_range_code:ao_range_code_6030,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6040",
|
||||
.device_id = 0x65,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 2000,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 12,
|
||||
.ao_scan_speed = 1000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_6052,
|
||||
.ao_range_table = &ao_ranges_6030,
|
||||
.ao_range_code = ao_range_code_6030,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6052",
|
||||
device_id:0x66,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 16,
|
||||
ai_speed:3333,
|
||||
ao_nchan:2,
|
||||
ao_bits: 16,
|
||||
ao_scan_speed:3333,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_6052,
|
||||
ao_range_table:&ao_ranges_6030,
|
||||
ao_range_code:ao_range_code_6030,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6052",
|
||||
.device_id = 0x66,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 3333,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 16,
|
||||
.ao_scan_speed = 3333,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_6052,
|
||||
.ao_range_table = &ao_ranges_6030,
|
||||
.ao_range_code = ao_range_code_6030,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6070",
|
||||
device_id:0x67,
|
||||
ai_se_chans:16,
|
||||
ai_bits: 12,
|
||||
ai_speed:800,
|
||||
ao_nchan:2,
|
||||
ao_bits: 12,
|
||||
ao_scan_speed:1000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_6052,
|
||||
ao_range_table:&ao_ranges_6030,
|
||||
ao_range_code:ao_range_code_6030,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6070",
|
||||
.device_id = 0x67,
|
||||
.ai_se_chans = 16,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 800,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 12,
|
||||
.ao_scan_speed = 1000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_6052,
|
||||
.ao_range_table = &ao_ranges_6030,
|
||||
.ao_range_code = ao_range_code_6030,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das6071",
|
||||
device_id:0x68,
|
||||
ai_se_chans:64,
|
||||
ai_bits: 12,
|
||||
ai_speed:800,
|
||||
ao_nchan:2,
|
||||
ao_bits: 12,
|
||||
ao_scan_speed:1000,
|
||||
layout: LAYOUT_60XX,
|
||||
ai_range_table:&ai_ranges_6052,
|
||||
ao_range_table:&ao_ranges_6030,
|
||||
ao_range_code:ao_range_code_6030,
|
||||
ai_fifo: &ai_fifo_60xx,
|
||||
has_8255:0,
|
||||
.name = "pci-das6071",
|
||||
.device_id = 0x68,
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 800,
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 12,
|
||||
.ao_scan_speed = 1000,
|
||||
.layout = LAYOUT_60XX,
|
||||
.ai_range_table = &ai_ranges_6052,
|
||||
.ao_range_table = &ao_ranges_6030,
|
||||
.ao_range_code = ao_range_code_6030,
|
||||
.ai_fifo = &ai_fifo_60xx,
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "pci-das4020/12",
|
||||
device_id:0x52,
|
||||
ai_se_chans:4,
|
||||
ai_bits: 12,
|
||||
ai_speed:50,
|
||||
ao_bits: 12,
|
||||
ao_nchan:2,
|
||||
ao_scan_speed:0, /* no hardware pacing on ao */
|
||||
layout: LAYOUT_4020,
|
||||
ai_range_table:&ai_ranges_4020,
|
||||
ao_range_table:&ao_ranges_4020,
|
||||
ao_range_code:ao_range_code_4020,
|
||||
ai_fifo: &ai_fifo_4020,
|
||||
has_8255:1,
|
||||
.name = "pci-das4020/12",
|
||||
.device_id = 0x52,
|
||||
.ai_se_chans = 4,
|
||||
.ai_bits = 12,
|
||||
.ai_speed = 50,
|
||||
.ao_bits = 12,
|
||||
.ao_nchan = 2,
|
||||
.ao_scan_speed = 0, /* no hardware pacing on ao */
|
||||
.layout = LAYOUT_4020,
|
||||
.ai_range_table = &ai_ranges_4020,
|
||||
.ao_range_table = &ao_ranges_4020,
|
||||
.ao_range_code = ao_range_code_4020,
|
||||
.ai_fifo = &ai_fifo_4020,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
#if 0
|
||||
{
|
||||
name: "pci-das6402/16/jr",
|
||||
device_id:0 /* XXX, */
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:5000,
|
||||
ao_nchan:0,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ai_fifo: ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das6402/16/jr",
|
||||
.device_id = 0 /* XXX, */
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 5000,
|
||||
.ao_nchan = 0,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ai_fifo = ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m1/16/jr",
|
||||
device_id:0 /* XXX, */
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:1000,
|
||||
ao_nchan:0,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ai_fifo: ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m1/16/jr",
|
||||
.device_id = 0 /* XXX, */
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 1000,
|
||||
.ao_nchan = 0,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ai_fifo = ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m2/16/jr",
|
||||
device_id:0 /* XXX, */
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:500,
|
||||
ao_nchan:0,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ai_fifo: ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m2/16/jr",
|
||||
.device_id = 0 /* XXX, */
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 500,
|
||||
.ao_nchan = 0,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ai_fifo = ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m3/16/jr",
|
||||
device_id:0 /* XXX, */
|
||||
ai_se_chans:64,
|
||||
ai_bits: 16,
|
||||
ai_speed:333,
|
||||
ao_nchan:0,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ai_fifo: ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m3/16/jr",
|
||||
.device_id = 0 /* XXX, */
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 333,
|
||||
.ao_nchan = 0,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ai_fifo = ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m1/14",
|
||||
device_id:0, /* XXX */
|
||||
ai_se_chans:64,
|
||||
ai_bits: 14,
|
||||
ai_speed:1000,
|
||||
ao_nchan:2,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ai_fifo: ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m1/14",
|
||||
.device_id = 0, /* XXX */
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 14,
|
||||
.ai_speed = 1000,
|
||||
.ao_nchan = 2,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ai_fifo = ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m2/14",
|
||||
device_id:0, /* XXX */
|
||||
ai_se_chans:64,
|
||||
ai_bits: 14,
|
||||
ai_speed:500,
|
||||
ao_nchan:2,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ai_fifo: ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m2/14",
|
||||
.device_id = 0, /* XXX */
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 14,
|
||||
.ai_speed = 500,
|
||||
.ao_nchan = 2,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ai_fifo = ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{
|
||||
name: "pci-das64/m3/14",
|
||||
device_id:0, /* XXX */
|
||||
ai_se_chans:64,
|
||||
ai_bits: 14,
|
||||
ai_speed:333,
|
||||
ao_nchan:2,
|
||||
ao_scan_speed:10000,
|
||||
layout: LAYOUT_64XX,
|
||||
ai_range_table:&ai_ranges_64xx,
|
||||
ai_fifo: ai_fifo_64xx,
|
||||
has_8255:1,
|
||||
.name = "pci-das64/m3/14",
|
||||
.device_id = 0, /* XXX */
|
||||
.ai_se_chans = 64,
|
||||
.ai_bits = 14,
|
||||
.ai_speed = 333,
|
||||
.ao_nchan = 2,
|
||||
.ao_scan_speed = 10000,
|
||||
.layout = LAYOUT_64XX,
|
||||
.ai_range_table = &ai_ranges_64xx,
|
||||
.ai_fifo = ai_fifo_64xx,
|
||||
.has_8255 = 1,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
@ -1131,10 +1131,10 @@ static inline struct pcidas64_private *priv(struct comedi_device * dev)
|
||||
static int attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_cb_pcidas = {
|
||||
driver_name:"cb_pcidas64",
|
||||
module:THIS_MODULE,
|
||||
attach:attach,
|
||||
detach:detach,
|
||||
.driver_name = "cb_pcidas64",
|
||||
.module = THIS_MODULE,
|
||||
.attach = attach,
|
||||
.detach = detach,
|
||||
};
|
||||
|
||||
static int ai_rinsn(struct comedi_device * dev, struct comedi_subdevice * s,
|
||||
|
@ -147,52 +147,52 @@ struct cb_pcidda_board {
|
||||
|
||||
static const struct cb_pcidda_board cb_pcidda_boards[] = {
|
||||
{
|
||||
name: "pci-dda02/12",
|
||||
status: 1,
|
||||
device_id:0x20,
|
||||
ao_chans:2,
|
||||
ao_bits: 12,
|
||||
ranges: &cb_pcidda_ranges,
|
||||
.name = "pci-dda02/12",
|
||||
.status = 1,
|
||||
.device_id = 0x20,
|
||||
.ao_chans = 2,
|
||||
.ao_bits = 12,
|
||||
.ranges = &cb_pcidda_ranges,
|
||||
},
|
||||
{
|
||||
name: "pci-dda04/12",
|
||||
status: 1,
|
||||
device_id:0x21,
|
||||
ao_chans:4,
|
||||
ao_bits: 12,
|
||||
ranges: &cb_pcidda_ranges,
|
||||
.name = "pci-dda04/12",
|
||||
.status = 1,
|
||||
.device_id = 0x21,
|
||||
.ao_chans = 4,
|
||||
.ao_bits = 12,
|
||||
.ranges = &cb_pcidda_ranges,
|
||||
},
|
||||
{
|
||||
name: "pci-dda08/12",
|
||||
status: 0,
|
||||
device_id:0x22,
|
||||
ao_chans:8,
|
||||
ao_bits: 12,
|
||||
ranges: &cb_pcidda_ranges,
|
||||
.name = "pci-dda08/12",
|
||||
.status = 0,
|
||||
.device_id = 0x22,
|
||||
.ao_chans = 8,
|
||||
.ao_bits = 12,
|
||||
.ranges = &cb_pcidda_ranges,
|
||||
},
|
||||
{
|
||||
name: "pci-dda02/16",
|
||||
status: 2,
|
||||
device_id:0x23,
|
||||
ao_chans:2,
|
||||
ao_bits: 16,
|
||||
ranges: &cb_pcidda_ranges,
|
||||
.name = "pci-dda02/16",
|
||||
.status = 2,
|
||||
.device_id = 0x23,
|
||||
.ao_chans = 2,
|
||||
.ao_bits = 16,
|
||||
.ranges = &cb_pcidda_ranges,
|
||||
},
|
||||
{
|
||||
name: "pci-dda04/16",
|
||||
status: 2,
|
||||
device_id:0x24,
|
||||
ao_chans:4,
|
||||
ao_bits: 16,
|
||||
ranges: &cb_pcidda_ranges,
|
||||
.name = "pci-dda04/16",
|
||||
.status = 2,
|
||||
.device_id = 0x24,
|
||||
.ao_chans = 4,
|
||||
.ao_bits = 16,
|
||||
.ranges = &cb_pcidda_ranges,
|
||||
},
|
||||
{
|
||||
name: "pci-dda08/16",
|
||||
status: 0,
|
||||
device_id:0x25,
|
||||
ao_chans:8,
|
||||
ao_bits: 16,
|
||||
ranges: &cb_pcidda_ranges,
|
||||
.name = "pci-dda08/16",
|
||||
.status = 0,
|
||||
.device_id = 0x25,
|
||||
.ao_chans = 8,
|
||||
.ao_bits = 16,
|
||||
.ranges = &cb_pcidda_ranges,
|
||||
},
|
||||
};
|
||||
|
||||
@ -264,10 +264,10 @@ static void cb_pcidda_calibrate(struct comedi_device *dev, unsigned int channel,
|
||||
* the device code.
|
||||
*/
|
||||
static struct comedi_driver driver_cb_pcidda = {
|
||||
driver_name:"cb_pcidda",
|
||||
module:THIS_MODULE,
|
||||
attach:cb_pcidda_attach,
|
||||
detach:cb_pcidda_detach,
|
||||
.driver_name = "cb_pcidda",
|
||||
.module = THIS_MODULE,
|
||||
.attach = cb_pcidda_attach,
|
||||
.detach = cb_pcidda_detach,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -63,22 +63,22 @@ struct pcidio_board {
|
||||
|
||||
static const struct pcidio_board pcidio_boards[] = {
|
||||
{
|
||||
name: "pci-dio24",
|
||||
n_8255: 1,
|
||||
pcicontroler_badrindex:1,
|
||||
dioregs_badrindex:2,
|
||||
.name = "pci-dio24",
|
||||
.n_8255 = 1,
|
||||
.pcicontroler_badrindex = 1,
|
||||
.dioregs_badrindex = 2,
|
||||
},
|
||||
{
|
||||
name: "pci-dio24h",
|
||||
n_8255: 1,
|
||||
pcicontroler_badrindex:1,
|
||||
dioregs_badrindex:2,
|
||||
.name = "pci-dio24h",
|
||||
.n_8255 = 1,
|
||||
.pcicontroler_badrindex = 1,
|
||||
.dioregs_badrindex = 2,
|
||||
},
|
||||
{
|
||||
name: "pci-dio48h",
|
||||
n_8255: 2,
|
||||
pcicontroler_badrindex:0,
|
||||
dioregs_badrindex:1,
|
||||
.name = "pci-dio48h",
|
||||
.n_8255 = 2,
|
||||
.pcicontroler_badrindex = 0,
|
||||
.dioregs_badrindex = 1,
|
||||
},
|
||||
};
|
||||
|
||||
@ -130,10 +130,10 @@ struct pcidio_private {
|
||||
static int pcidio_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pcidio_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_cb_pcidio = {
|
||||
driver_name:"cb_pcidio",
|
||||
module:THIS_MODULE,
|
||||
attach:pcidio_attach,
|
||||
detach:pcidio_detach,
|
||||
.driver_name = "cb_pcidio",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcidio_attach,
|
||||
.detach = pcidio_detach,
|
||||
|
||||
/* It is not necessary to implement the following members if you are
|
||||
* writing a driver for a ISA PnP or PCI card */
|
||||
@ -158,9 +158,9 @@ static struct comedi_driver driver_cb_pcidio = {
|
||||
/* The following fields should NOT be initialized if you are dealing
|
||||
* with PCI devices
|
||||
*
|
||||
* board_name: pcidio_boards,
|
||||
* offset: sizeof(struct pcidio_board),
|
||||
* num_names: sizeof(pcidio_boards) / sizeof(structpcidio_board),
|
||||
* .board_name = pcidio_boards,
|
||||
* .offset = sizeof(struct pcidio_board),
|
||||
* .num_names = sizeof(pcidio_boards) / sizeof(structpcidio_board),
|
||||
*/
|
||||
|
||||
};
|
||||
|
@ -102,21 +102,21 @@ struct cb_pcimdas_board {
|
||||
|
||||
static const struct cb_pcimdas_board cb_pcimdas_boards[] = {
|
||||
{
|
||||
name: "PCIM-DAS1602/16",
|
||||
device_id:0x56,
|
||||
ai_se_chans:16,
|
||||
ai_diff_chans:8,
|
||||
ai_bits: 16,
|
||||
ai_speed:10000, /* ?? */
|
||||
ao_nchan:2,
|
||||
ao_bits: 12,
|
||||
has_ao_fifo:0, /* ?? */
|
||||
ao_scan_speed:10000,
|
||||
.name = "PCIM-DAS1602/16",
|
||||
.device_id = 0x56,
|
||||
.ai_se_chans = 16,
|
||||
.ai_diff_chans = 8,
|
||||
.ai_bits = 16,
|
||||
.ai_speed = 10000, /* ?? */
|
||||
.ao_nchan = 2,
|
||||
.ao_bits = 12,
|
||||
.has_ao_fifo = 0, /* ?? */
|
||||
.ao_scan_speed = 10000,
|
||||
/* ?? */
|
||||
fifo_size:1024,
|
||||
dio_bits:24,
|
||||
has_dio: 1,
|
||||
/* ranges: &cb_pcimdas_ranges, */
|
||||
.fifo_size = 1024,
|
||||
.dio_bits = 24,
|
||||
.has_dio = 1,
|
||||
/* .ranges = &cb_pcimdas_ranges, */
|
||||
},
|
||||
};
|
||||
|
||||
@ -178,10 +178,10 @@ struct cb_pcimdas_private {
|
||||
static int cb_pcimdas_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int cb_pcimdas_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_cb_pcimdas = {
|
||||
driver_name:"cb_pcimdas",
|
||||
module:THIS_MODULE,
|
||||
attach:cb_pcimdas_attach,
|
||||
detach:cb_pcimdas_detach,
|
||||
.driver_name = "cb_pcimdas",
|
||||
.module = THIS_MODULE,
|
||||
.attach = cb_pcimdas_attach,
|
||||
.detach = cb_pcimdas_detach,
|
||||
};
|
||||
|
||||
static int cb_pcimdas_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
|
@ -118,15 +118,15 @@ enum DIO_METHODS {
|
||||
|
||||
static const struct board_struct boards[] = {
|
||||
{
|
||||
name: "cb_pcimdda06-16",
|
||||
device_id:PCI_ID_PCIM_DDA06_16,
|
||||
ao_chans:6,
|
||||
ao_bits: 16,
|
||||
dio_chans:24,
|
||||
dio_method:DIO_8255,
|
||||
dio_offset:12,
|
||||
regs_badrindex:3,
|
||||
reg_sz: 16,
|
||||
.name = "cb_pcimdda06-16",
|
||||
.device_id = PCI_ID_PCIM_DDA06_16,
|
||||
.ao_chans = 6,
|
||||
.ao_bits = 16,
|
||||
.dio_chans = 24,
|
||||
.dio_method = DIO_8255,
|
||||
.dio_offset = 12,
|
||||
.regs_badrindex = 3,
|
||||
.reg_sz = 16,
|
||||
}
|
||||
};
|
||||
|
||||
@ -184,10 +184,10 @@ struct board_private_struct {
|
||||
static int attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int detach(struct comedi_device *dev);
|
||||
static struct comedi_driver cb_pcimdda_driver = {
|
||||
driver_name:"cb_pcimdda",
|
||||
module:THIS_MODULE,
|
||||
attach:attach,
|
||||
detach:detach,
|
||||
.driver_name = "cb_pcimdda",
|
||||
.module = THIS_MODULE,
|
||||
.attach = attach,
|
||||
.detach = detach,
|
||||
};
|
||||
|
||||
MODULE_AUTHOR("Calin A. Culianu <calin@rtlab.org>");
|
||||
|
@ -152,11 +152,11 @@ static int timer_inttrig(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
static int timer_start_cmd(struct comedi_device *dev, struct comedi_subdevice *s);
|
||||
|
||||
static struct comedi_driver driver_timer = {
|
||||
module:THIS_MODULE,
|
||||
driver_name:"comedi_rt_timer",
|
||||
attach:timer_attach,
|
||||
detach:timer_detach,
|
||||
/* open: timer_open, */
|
||||
.module = THIS_MODULE,
|
||||
.driver_name = "comedi_rt_timer",
|
||||
.attach = timer_attach,
|
||||
.detach = timer_detach,
|
||||
/* .open = timer_open, */
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_timer);
|
||||
|
@ -78,10 +78,10 @@ struct contec_private {
|
||||
static int contec_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int contec_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_contec = {
|
||||
driver_name:"contec_pci_dio",
|
||||
module:THIS_MODULE,
|
||||
attach:contec_attach,
|
||||
detach:contec_detach,
|
||||
.driver_name = "contec_pci_dio",
|
||||
.module = THIS_MODULE,
|
||||
.attach = contec_attach,
|
||||
.detach = contec_detach,
|
||||
};
|
||||
|
||||
/* Classic digital IO */
|
||||
|
@ -300,10 +300,10 @@ static int daqboard2000_attach(struct comedi_device *dev, struct comedi_devconfi
|
||||
static int daqboard2000_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver_daqboard2000 = {
|
||||
driver_name:"daqboard2000",
|
||||
module:THIS_MODULE,
|
||||
attach:daqboard2000_attach,
|
||||
detach:daqboard2000_detach,
|
||||
.driver_name = "daqboard2000",
|
||||
.module = THIS_MODULE,
|
||||
.attach = daqboard2000_attach,
|
||||
.detach = daqboard2000_detach,
|
||||
};
|
||||
|
||||
struct daq200_boardtype {
|
||||
|
@ -248,211 +248,211 @@ static const int *const das08_gainlists[] = {
|
||||
|
||||
static const struct das08_board_struct das08_boards[] = {
|
||||
{
|
||||
name: "isa-das08", /* cio-das08.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pg_none,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: NULL,
|
||||
ao_nbits:12,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:8,
|
||||
i8254_offset:4,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "isa-das08", /* cio-das08.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pg_none,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = NULL,
|
||||
.ao_nbits = 12,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 8,
|
||||
.i8254_offset = 4,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
{
|
||||
name: "das08-pgm", /* cio-das08pgx.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pgm,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: NULL,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x04,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08-pgm", /* cio-das08pgx.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pgm,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = NULL,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x04,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
{
|
||||
name: "das08-pgh", /* cio-das08pgx.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pgh,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: NULL,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x04,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08-pgh", /* cio-das08pgx.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pgh,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = NULL,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x04,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
{
|
||||
name: "das08-pgl", /* cio-das08pgx.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pgl,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: NULL,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x04,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08-pgl", /* cio-das08pgx.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pgl,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = NULL,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x04,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
{
|
||||
name: "das08-aoh", /* cio-das08_aox.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pgh,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: das08ao_ao_winsn, /* 8 */
|
||||
ao_nbits:12,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:0x0c,
|
||||
i8254_offset:0x04,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08-aoh", /* cio-das08_aox.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pgh,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = das08ao_ao_winsn, /* 8 */
|
||||
.ao_nbits = 12,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 0x0c,
|
||||
.i8254_offset = 0x04,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
{
|
||||
name: "das08-aol", /* cio-das08_aox.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pgl,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: das08ao_ao_winsn, /* 8 */
|
||||
ao_nbits:12,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:0x0c,
|
||||
i8254_offset:0x04,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08-aol", /* cio-das08_aox.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pgl,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = das08ao_ao_winsn, /* 8 */
|
||||
.ao_nbits = 12,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 0x0c,
|
||||
.i8254_offset = 0x04,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
{
|
||||
name: "das08-aom", /* cio-das08_aox.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pgm,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: das08ao_ao_winsn, /* 8 */
|
||||
ao_nbits:12,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:0x0c,
|
||||
i8254_offset:0x04,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08-aom", /* cio-das08_aox.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pgm,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = das08ao_ao_winsn, /* 8 */
|
||||
.ao_nbits = 12,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 0x0c,
|
||||
.i8254_offset = 0x04,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
{
|
||||
name: "das08/jr-ao", /* cio-das08-jr-ao.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pg_none,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: das08jr_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das08jr_di_rbits,
|
||||
do_: das08jr_do_wbits,
|
||||
do_nchan:8,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08/jr-ao", /* cio-das08-jr-ao.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pg_none,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = das08jr_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das08jr_di_rbits,
|
||||
.do_ = das08jr_do_wbits,
|
||||
.do_nchan = 8,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
{
|
||||
name: "das08jr-16-ao", /* cio-das08jr-16-ao.pdf */
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:16,
|
||||
ai_pg: das08_pg_none,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: das08jr_ao_winsn,
|
||||
ao_nbits:16,
|
||||
di: das08jr_di_rbits,
|
||||
do_: das08jr_do_wbits,
|
||||
do_nchan:8,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x04,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08jr-16-ao", /* cio-das08jr-16-ao.pdf */
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 16,
|
||||
.ai_pg = das08_pg_none,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = das08jr_ao_winsn,
|
||||
.ao_nbits = 16,
|
||||
.di = das08jr_di_rbits,
|
||||
.do_ = das08jr_do_wbits,
|
||||
.do_nchan = 8,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x04,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: "das08", /* pci-das08 */
|
||||
id: PCI_DEVICE_ID_PCIDAS08,
|
||||
bustype: pci,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_bipolar5,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: NULL,
|
||||
ao_nbits:0,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:0,
|
||||
i8254_offset:4,
|
||||
iosize: 8,
|
||||
.name = "das08", /* pci-das08 */
|
||||
.id = PCI_DEVICE_ID_PCIDAS08,
|
||||
.bustype = pci,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_bipolar5,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = NULL,
|
||||
.ao_nbits = 0,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 4,
|
||||
.iosize = 8,
|
||||
},
|
||||
#endif
|
||||
{
|
||||
name: "pc104-das08",
|
||||
bustype: pc104,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_pg_none,
|
||||
ai_encoding:das08_encode12,
|
||||
ao: NULL,
|
||||
ao_nbits:0,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:4,
|
||||
i8255_offset:0,
|
||||
i8254_offset:4,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "pc104-das08",
|
||||
.bustype = pc104,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_pg_none,
|
||||
.ai_encoding = das08_encode12,
|
||||
.ao = NULL,
|
||||
.ao_nbits = 0,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 4,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 4,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
#if 0
|
||||
{
|
||||
name: "das08/f",
|
||||
.name = "das08/f",
|
||||
},
|
||||
{
|
||||
name: "das08jr",
|
||||
.name = "das08jr",
|
||||
},
|
||||
#endif
|
||||
{
|
||||
name: "das08jr/16",
|
||||
bustype: isa,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:16,
|
||||
ai_pg: das08_pg_none,
|
||||
ai_encoding:das08_encode16,
|
||||
ao: NULL,
|
||||
ao_nbits:0,
|
||||
di: das08jr_di_rbits,
|
||||
do_: das08jr_do_wbits,
|
||||
do_nchan:8,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0,
|
||||
iosize: 16, /* unchecked */
|
||||
.name = "das08jr/16",
|
||||
.bustype = isa,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 16,
|
||||
.ai_pg = das08_pg_none,
|
||||
.ai_encoding = das08_encode16,
|
||||
.ao = NULL,
|
||||
.ao_nbits = 0,
|
||||
.di = das08jr_di_rbits,
|
||||
.do_ = das08jr_do_wbits,
|
||||
.do_nchan = 8,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0,
|
||||
.iosize = 16, /* unchecked */
|
||||
},
|
||||
#if 0
|
||||
{
|
||||
name: "das48-pga", /* cio-das48-pga.pdf */
|
||||
.name = "das48-pga", /* cio-das48-pga.pdf */
|
||||
},
|
||||
{
|
||||
name: "das08-pga-g2", /* a KM board */
|
||||
.name = "das08-pga-g2", /* a KM board */
|
||||
},
|
||||
#endif
|
||||
};
|
||||
@ -460,39 +460,39 @@ static const struct das08_board_struct das08_boards[] = {
|
||||
#ifdef CONFIG_COMEDI_PCMCIA
|
||||
struct das08_board_struct das08_cs_boards[NUM_DAS08_CS_BOARDS] = {
|
||||
{
|
||||
name: "pcm-das08",
|
||||
id: 0x0, /* XXX */
|
||||
bustype: pcmcia,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_bipolar5,
|
||||
ai_encoding:das08_pcm_encode12,
|
||||
ao: NULL,
|
||||
ao_nbits:0,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:3,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0,
|
||||
iosize: 16,
|
||||
.name = "pcm-das08",
|
||||
.id = 0x0, /* XXX */
|
||||
.bustype = pcmcia,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_bipolar5,
|
||||
.ai_encoding = das08_pcm_encode12,
|
||||
.ao = NULL,
|
||||
.ao_nbits = 0,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 3,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0,
|
||||
.iosize = 16,
|
||||
},
|
||||
/* duplicate so driver name can be used also */
|
||||
{
|
||||
name: "das08_cs",
|
||||
id: 0x0, /* XXX */
|
||||
bustype: pcmcia,
|
||||
ai: das08_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_pg: das08_bipolar5,
|
||||
ai_encoding:das08_pcm_encode12,
|
||||
ao: NULL,
|
||||
ao_nbits:0,
|
||||
di: das08_di_rbits,
|
||||
do_: das08_do_wbits,
|
||||
do_nchan:3,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0,
|
||||
iosize: 16,
|
||||
.name = "das08_cs",
|
||||
.id = 0x0, /* XXX */
|
||||
.bustype = pcmcia,
|
||||
.ai = das08_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_pg = das08_bipolar5,
|
||||
.ai_encoding = das08_pcm_encode12,
|
||||
.ao = NULL,
|
||||
.ao_nbits = 0,
|
||||
.di = das08_di_rbits,
|
||||
.do_ = das08_do_wbits,
|
||||
.do_nchan = 3,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0,
|
||||
.iosize = 16,
|
||||
},
|
||||
};
|
||||
#endif
|
||||
@ -830,14 +830,14 @@ static int das08_counter_config(struct comedi_device *dev, struct comedi_subdevi
|
||||
static int das08_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
|
||||
static struct comedi_driver driver_das08 = {
|
||||
driver_name: DRV_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:das08_attach,
|
||||
detach:das08_common_detach,
|
||||
board_name:&das08_boards[0].name,
|
||||
num_names:sizeof(das08_boards) /
|
||||
.driver_name = DRV_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = das08_attach,
|
||||
.detach = das08_common_detach,
|
||||
.board_name = &das08_boards[0].name,
|
||||
.num_names = sizeof(das08_boards) /
|
||||
sizeof(struct das08_board_struct),
|
||||
offset:sizeof(struct das08_board_struct),
|
||||
.offset = sizeof(struct das08_board_struct),
|
||||
};
|
||||
|
||||
int das08_common_attach(struct comedi_device *dev, unsigned long iobase)
|
||||
|
@ -59,14 +59,14 @@ static struct pcmcia_device *cur_dev = NULL;
|
||||
static int das08_cs_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
|
||||
static struct comedi_driver driver_das08_cs = {
|
||||
driver_name:"das08_cs",
|
||||
module:THIS_MODULE,
|
||||
attach:das08_cs_attach,
|
||||
detach:das08_common_detach,
|
||||
board_name:&das08_cs_boards[0].name,
|
||||
num_names:sizeof(das08_cs_boards) /
|
||||
.driver_name = "das08_cs",
|
||||
.module = THIS_MODULE,
|
||||
.attach = das08_cs_attach,
|
||||
.detach = das08_common_detach,
|
||||
.board_name = &das08_cs_boards[0].name,
|
||||
.num_names = sizeof(das08_cs_boards) /
|
||||
sizeof(struct das08_board_struct),
|
||||
offset:sizeof(struct das08_board_struct),
|
||||
.offset = sizeof(struct das08_board_struct),
|
||||
};
|
||||
|
||||
static int das08_cs_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
|
@ -375,323 +375,323 @@ struct das16_board {
|
||||
|
||||
static const struct das16_board das16_boards[] = {
|
||||
{
|
||||
name: "das-16",
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:15000,
|
||||
ai_pg: das16_pg_none,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x10,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x14,
|
||||
id: 0x00,
|
||||
.name = "das-16",
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 15000,
|
||||
.ai_pg = das16_pg_none,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x10,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x14,
|
||||
.id = 0x00,
|
||||
},
|
||||
{
|
||||
name: "das-16g",
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:15000,
|
||||
ai_pg: das16_pg_none,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x10,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x14,
|
||||
id: 0x00,
|
||||
.name = "das-16g",
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 15000,
|
||||
.ai_pg = das16_pg_none,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x10,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x14,
|
||||
.id = 0x00,
|
||||
},
|
||||
{
|
||||
name: "das-16f",
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:8500,
|
||||
ai_pg: das16_pg_none,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x10,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x14,
|
||||
id: 0x00,
|
||||
.name = "das-16f",
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 8500,
|
||||
.ai_pg = das16_pg_none,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x10,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x14,
|
||||
.id = 0x00,
|
||||
},
|
||||
{
|
||||
name: "cio-das16", /* cio-das16.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:20000,
|
||||
ai_pg: das16_pg_none,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x10,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x14,
|
||||
id: 0x80,
|
||||
.name = "cio-das16", /* cio-das16.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 20000,
|
||||
.ai_pg = das16_pg_none,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x10,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x14,
|
||||
.id = 0x80,
|
||||
},
|
||||
{
|
||||
name: "cio-das16/f", /* das16.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_none,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x10,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x14,
|
||||
id: 0x80,
|
||||
.name = "cio-das16/f", /* das16.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_none,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x10,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x14,
|
||||
.id = 0x80,
|
||||
},
|
||||
{
|
||||
name: "cio-das16/jr", /* cio-das16jr.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:7692,
|
||||
ai_pg: das16_pg_16jr,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x10,
|
||||
id: 0x00,
|
||||
.name = "cio-das16/jr", /* cio-das16jr.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 7692,
|
||||
.ai_pg = das16_pg_16jr,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x10,
|
||||
.id = 0x00,
|
||||
},
|
||||
{
|
||||
name: "pc104-das16jr", /* pc104-das16jr_xx.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:3300,
|
||||
ai_pg: das16_pg_16jr,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x10,
|
||||
id: 0x00,
|
||||
.name = "pc104-das16jr", /* pc104-das16jr_xx.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 3300,
|
||||
.ai_pg = das16_pg_16jr,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x10,
|
||||
.id = 0x00,
|
||||
},
|
||||
{
|
||||
name: "cio-das16jr/16", /* cio-das16jr_16.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:16,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_16jr_16,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x10,
|
||||
id: 0x00,
|
||||
.name = "cio-das16jr/16", /* cio-das16jr_16.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 16,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_16jr_16,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x10,
|
||||
.id = 0x00,
|
||||
},
|
||||
{
|
||||
name: "pc104-das16jr/16", /* pc104-das16jr_xx.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:16,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_16jr_16,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x10,
|
||||
id: 0x00,
|
||||
.name = "pc104-das16jr/16", /* pc104-das16jr_xx.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 16,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_16jr_16,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x10,
|
||||
.id = 0x00,
|
||||
},
|
||||
{
|
||||
name: "das-1201", /* 4924.pdf (keithley user's manual) */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:20000,
|
||||
ai_pg: das16_pg_none,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x400,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0x20,
|
||||
.name = "das-1201", /* 4924.pdf (keithley user's manual) */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 20000,
|
||||
.ai_pg = das16_pg_none,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x400,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0x20,
|
||||
},
|
||||
{
|
||||
name: "das-1202", /* 4924.pdf (keithley user's manual) */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_none,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x400,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0x20,
|
||||
.name = "das-1202", /* 4924.pdf (keithley user's manual) */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_none,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x400,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0x20,
|
||||
},
|
||||
{
|
||||
name: "das-1401", /* 4919.pdf and 4922.pdf (keithley user's manual) */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_1601,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0 /* 4919.pdf says id bits are 0xe0, 4922.pdf says 0xc0 */
|
||||
.name = "das-1401", /* 4919.pdf and 4922.pdf (keithley user's manual) */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_1601,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0 /* 4919.pdf says id bits are 0xe0, 4922.pdf says 0xc0 */
|
||||
},
|
||||
{
|
||||
name: "das-1402", /* 4919.pdf and 4922.pdf (keithley user's manual) */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_1602,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0 /* 4919.pdf says id bits are 0xe0, 4922.pdf says 0xc0 */
|
||||
.name = "das-1402", /* 4919.pdf and 4922.pdf (keithley user's manual) */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_1602,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0 /* 4919.pdf says id bits are 0xe0, 4922.pdf says 0xc0 */
|
||||
},
|
||||
{
|
||||
name: "das-1601", /* 4919.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_1601,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x400,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0},
|
||||
.name = "das-1601", /* 4919.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_1601,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x400,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0},
|
||||
{
|
||||
name: "das-1602", /* 4919.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_1602,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x400,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0},
|
||||
.name = "das-1602", /* 4919.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_1602,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x400,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0},
|
||||
{
|
||||
name: "cio-das1401/12", /* cio-das1400_series.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:6250,
|
||||
ai_pg: das16_pg_1601,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0},
|
||||
.name = "cio-das1401/12", /* cio-das1400_series.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 6250,
|
||||
.ai_pg = das16_pg_1601,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0},
|
||||
{
|
||||
name: "cio-das1402/12", /* cio-das1400_series.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:6250,
|
||||
ai_pg: das16_pg_1602,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0},
|
||||
.name = "cio-das1402/12", /* cio-das1400_series.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 6250,
|
||||
.ai_pg = das16_pg_1602,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0},
|
||||
{
|
||||
name: "cio-das1402/16", /* cio-das1400_series.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:16,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_1602,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0},
|
||||
.name = "cio-das1402/16", /* cio-das1400_series.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 16,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_1602,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0},
|
||||
{
|
||||
name: "cio-das1601/12", /* cio-das160x-1x.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:6250,
|
||||
ai_pg: das16_pg_1601,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x400,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0},
|
||||
.name = "cio-das1601/12", /* cio-das160x-1x.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 6250,
|
||||
.ai_pg = das16_pg_1601,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x400,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0},
|
||||
{
|
||||
name: "cio-das1602/12", /* cio-das160x-1x.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_1602,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x400,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0},
|
||||
.name = "cio-das1602/12", /* cio-das160x-1x.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_1602,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x400,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0},
|
||||
{
|
||||
name: "cio-das1602/16", /* cio-das160x-1x.pdf */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:16,
|
||||
ai_speed:10000,
|
||||
ai_pg: das16_pg_1602,
|
||||
ao: das16_ao_winsn,
|
||||
ao_nbits:12,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0x400,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x408,
|
||||
id: 0xc0},
|
||||
.name = "cio-das1602/16", /* cio-das160x-1x.pdf */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 16,
|
||||
.ai_speed = 10000,
|
||||
.ai_pg = das16_pg_1602,
|
||||
.ao = das16_ao_winsn,
|
||||
.ao_nbits = 12,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0x400,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x408,
|
||||
.id = 0xc0},
|
||||
{
|
||||
name: "cio-das16/330", /* ? */
|
||||
ai: das16_ai_rinsn,
|
||||
ai_nbits:12,
|
||||
ai_speed:3030,
|
||||
ai_pg: das16_pg_16jr,
|
||||
ao: NULL,
|
||||
di: das16_di_rbits,
|
||||
do_: das16_do_wbits,
|
||||
i8255_offset:0,
|
||||
i8254_offset:0x0c,
|
||||
size: 0x14,
|
||||
id: 0xf0},
|
||||
.name = "cio-das16/330", /* ? */
|
||||
.ai = das16_ai_rinsn,
|
||||
.ai_nbits = 12,
|
||||
.ai_speed = 3030,
|
||||
.ai_pg = das16_pg_16jr,
|
||||
.ao = NULL,
|
||||
.di = das16_di_rbits,
|
||||
.do_ = das16_do_wbits,
|
||||
.i8255_offset = 0,
|
||||
.i8254_offset = 0x0c,
|
||||
.size = 0x14,
|
||||
.id = 0xf0},
|
||||
#if 0
|
||||
{
|
||||
name: "das16/330i", /* ? */
|
||||
.name = "das16/330i", /* ? */
|
||||
},
|
||||
{
|
||||
name: "das16/jr/ctr5", /* ? */
|
||||
.name = "das16/jr/ctr5", /* ? */
|
||||
},
|
||||
{
|
||||
name: "cio-das16/m1/16", /* cio-das16_m1_16.pdf, this board is a bit quirky, no dma */
|
||||
.name = "cio-das16/m1/16", /* cio-das16_m1_16.pdf, this board is a bit quirky, no dma */
|
||||
},
|
||||
#endif
|
||||
};
|
||||
@ -701,13 +701,13 @@ static const struct das16_board das16_boards[] = {
|
||||
static int das16_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int das16_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_das16 = {
|
||||
driver_name:"das16",
|
||||
module:THIS_MODULE,
|
||||
attach:das16_attach,
|
||||
detach:das16_detach,
|
||||
board_name:&das16_boards[0].name,
|
||||
num_names:n_das16_boards,
|
||||
offset:sizeof(das16_boards[0]),
|
||||
.driver_name = "das16",
|
||||
.module = THIS_MODULE,
|
||||
.attach = das16_attach,
|
||||
.detach = das16_detach,
|
||||
.board_name = &das16_boards[0].name,
|
||||
.num_names = n_das16_boards,
|
||||
.offset = sizeof(das16_boards[0]),
|
||||
};
|
||||
|
||||
#define DAS16_TIMEOUT 1000
|
||||
|
@ -159,8 +159,8 @@ struct das16m1_board {
|
||||
|
||||
static const struct das16m1_board das16m1_boards[] = {
|
||||
{
|
||||
name: "cio-das16/m1", /* CIO-DAS16_M1.pdf */
|
||||
ai_speed:1000, /* 1MHz max speed */
|
||||
.name = "cio-das16/m1", /* CIO-DAS16_M1.pdf */
|
||||
.ai_speed = 1000, /* 1MHz max speed */
|
||||
},
|
||||
};
|
||||
|
||||
@ -169,13 +169,13 @@ static const struct das16m1_board das16m1_boards[] = {
|
||||
static int das16m1_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int das16m1_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_das16m1 = {
|
||||
driver_name:"das16m1",
|
||||
module:THIS_MODULE,
|
||||
attach:das16m1_attach,
|
||||
detach:das16m1_detach,
|
||||
board_name:&das16m1_boards[0].name,
|
||||
num_names:das16m1_num_boards,
|
||||
offset:sizeof(das16m1_boards[0]),
|
||||
.driver_name = "das16m1",
|
||||
.module = THIS_MODULE,
|
||||
.attach = das16m1_attach,
|
||||
.detach = das16m1_detach,
|
||||
.board_name = &das16m1_boards[0].name,
|
||||
.num_names = das16m1_num_boards,
|
||||
.offset = sizeof(das16m1_boards[0]),
|
||||
};
|
||||
|
||||
struct das16m1_private_struct {
|
||||
|
@ -259,202 +259,202 @@ struct das1800_board {
|
||||
*/
|
||||
static const struct das1800_board das1800_boards[] = {
|
||||
{
|
||||
name: "das-1701st",
|
||||
ai_speed:6250,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:0,
|
||||
ao_n_chan:0,
|
||||
range_ai:&range_ai_das1801,
|
||||
.name = "das-1701st",
|
||||
.ai_speed = 6250,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 0,
|
||||
.ao_n_chan = 0,
|
||||
.range_ai = &range_ai_das1801,
|
||||
},
|
||||
{
|
||||
name: "das-1701st-da",
|
||||
ai_speed:6250,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:1,
|
||||
ao_n_chan:4,
|
||||
range_ai:&range_ai_das1801,
|
||||
.name = "das-1701st-da",
|
||||
.ai_speed = 6250,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 1,
|
||||
.ao_n_chan = 4,
|
||||
.range_ai = &range_ai_das1801,
|
||||
},
|
||||
{
|
||||
name: "das-1702st",
|
||||
ai_speed:6250,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:0,
|
||||
ao_n_chan:0,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1702st",
|
||||
.ai_speed = 6250,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 0,
|
||||
.ao_n_chan = 0,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1702st-da",
|
||||
ai_speed:6250,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:1,
|
||||
ao_n_chan:4,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1702st-da",
|
||||
.ai_speed = 6250,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 1,
|
||||
.ao_n_chan = 4,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1702hr",
|
||||
ai_speed:20000,
|
||||
resolution:16,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:0,
|
||||
ao_n_chan:0,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1702hr",
|
||||
.ai_speed = 20000,
|
||||
.resolution = 16,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 0,
|
||||
.ao_n_chan = 0,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1702hr-da",
|
||||
ai_speed:20000,
|
||||
resolution:16,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:1,
|
||||
ao_n_chan:2,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1702hr-da",
|
||||
.ai_speed = 20000,
|
||||
.resolution = 16,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 1,
|
||||
.ao_n_chan = 2,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1701ao",
|
||||
ai_speed:6250,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:2,
|
||||
ao_n_chan:2,
|
||||
range_ai:&range_ai_das1801,
|
||||
.name = "das-1701ao",
|
||||
.ai_speed = 6250,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 2,
|
||||
.ao_n_chan = 2,
|
||||
.range_ai = &range_ai_das1801,
|
||||
},
|
||||
{
|
||||
name: "das-1702ao",
|
||||
ai_speed:6250,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:2,
|
||||
ao_n_chan:2,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1702ao",
|
||||
.ai_speed = 6250,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 2,
|
||||
.ao_n_chan = 2,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1801st",
|
||||
ai_speed:3000,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:0,
|
||||
ao_n_chan:0,
|
||||
range_ai:&range_ai_das1801,
|
||||
.name = "das-1801st",
|
||||
.ai_speed = 3000,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 0,
|
||||
.ao_n_chan = 0,
|
||||
.range_ai = &range_ai_das1801,
|
||||
},
|
||||
{
|
||||
name: "das-1801st-da",
|
||||
ai_speed:3000,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:0,
|
||||
ao_n_chan:4,
|
||||
range_ai:&range_ai_das1801,
|
||||
.name = "das-1801st-da",
|
||||
.ai_speed = 3000,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 0,
|
||||
.ao_n_chan = 4,
|
||||
.range_ai = &range_ai_das1801,
|
||||
},
|
||||
{
|
||||
name: "das-1802st",
|
||||
ai_speed:3000,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:0,
|
||||
ao_n_chan:0,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1802st",
|
||||
.ai_speed = 3000,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 0,
|
||||
.ao_n_chan = 0,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1802st-da",
|
||||
ai_speed:3000,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:1,
|
||||
ao_n_chan:4,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1802st-da",
|
||||
.ai_speed = 3000,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 1,
|
||||
.ao_n_chan = 4,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1802hr",
|
||||
ai_speed:10000,
|
||||
resolution:16,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:0,
|
||||
ao_n_chan:0,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1802hr",
|
||||
.ai_speed = 10000,
|
||||
.resolution = 16,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 0,
|
||||
.ao_n_chan = 0,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1802hr-da",
|
||||
ai_speed:10000,
|
||||
resolution:16,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:1,
|
||||
ao_n_chan:2,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1802hr-da",
|
||||
.ai_speed = 10000,
|
||||
.resolution = 16,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 1,
|
||||
.ao_n_chan = 2,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1801hc",
|
||||
ai_speed:3000,
|
||||
resolution:12,
|
||||
qram_len:64,
|
||||
common: 0,
|
||||
do_n_chan:8,
|
||||
ao_ability:1,
|
||||
ao_n_chan:2,
|
||||
range_ai:&range_ai_das1801,
|
||||
.name = "das-1801hc",
|
||||
.ai_speed = 3000,
|
||||
.resolution = 12,
|
||||
.qram_len = 64,
|
||||
.common = 0,
|
||||
.do_n_chan = 8,
|
||||
.ao_ability = 1,
|
||||
.ao_n_chan = 2,
|
||||
.range_ai = &range_ai_das1801,
|
||||
},
|
||||
{
|
||||
name: "das-1802hc",
|
||||
ai_speed:3000,
|
||||
resolution:12,
|
||||
qram_len:64,
|
||||
common: 0,
|
||||
do_n_chan:8,
|
||||
ao_ability:1,
|
||||
ao_n_chan:2,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1802hc",
|
||||
.ai_speed = 3000,
|
||||
.resolution = 12,
|
||||
.qram_len = 64,
|
||||
.common = 0,
|
||||
.do_n_chan = 8,
|
||||
.ao_ability = 1,
|
||||
.ao_n_chan = 2,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
{
|
||||
name: "das-1801ao",
|
||||
ai_speed:3000,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:2,
|
||||
ao_n_chan:2,
|
||||
range_ai:&range_ai_das1801,
|
||||
.name = "das-1801ao",
|
||||
.ai_speed = 3000,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 2,
|
||||
.ao_n_chan = 2,
|
||||
.range_ai = &range_ai_das1801,
|
||||
},
|
||||
{
|
||||
name: "das-1802ao",
|
||||
ai_speed:3000,
|
||||
resolution:12,
|
||||
qram_len:256,
|
||||
common: 1,
|
||||
do_n_chan:4,
|
||||
ao_ability:2,
|
||||
ao_n_chan:2,
|
||||
range_ai:&range_ai_das1802,
|
||||
.name = "das-1802ao",
|
||||
.ai_speed = 3000,
|
||||
.resolution = 12,
|
||||
.qram_len = 256,
|
||||
.common = 1,
|
||||
.do_n_chan = 4,
|
||||
.ao_ability = 2,
|
||||
.ao_n_chan = 2,
|
||||
.range_ai = &range_ai_das1802,
|
||||
},
|
||||
};
|
||||
|
||||
@ -505,13 +505,13 @@ static const struct comedi_lrange range_ao_2 = {
|
||||
*/
|
||||
|
||||
static struct comedi_driver driver_das1800 = {
|
||||
driver_name:"das1800",
|
||||
module:THIS_MODULE,
|
||||
attach:das1800_attach,
|
||||
detach:das1800_detach,
|
||||
num_names:sizeof(das1800_boards) / sizeof(struct das1800_board),
|
||||
board_name:&das1800_boards[0].name,
|
||||
offset:sizeof(struct das1800_board),
|
||||
.driver_name = "das1800",
|
||||
.module = THIS_MODULE,
|
||||
.attach = das1800_attach,
|
||||
.detach = das1800_detach,
|
||||
.num_names = sizeof(das1800_boards) / sizeof(struct das1800_board),
|
||||
.board_name = &das1800_boards[0].name,
|
||||
.offset = sizeof(struct das1800_board),
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -101,10 +101,10 @@ This driver has suffered bitrot.
|
||||
static int das6402_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int das6402_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_das6402 = {
|
||||
driver_name:"das6402",
|
||||
module:THIS_MODULE,
|
||||
attach:das6402_attach,
|
||||
detach:das6402_detach,
|
||||
.driver_name = "das6402",
|
||||
.module = THIS_MODULE,
|
||||
.attach = das6402_attach,
|
||||
.detach = das6402_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_das6402);
|
||||
|
@ -184,46 +184,46 @@ enum { das800, ciodas800, das801, ciodas801, das802, ciodas802, ciodas80216 };
|
||||
|
||||
static const struct das800_board das800_boards[] = {
|
||||
{
|
||||
name: "das-800",
|
||||
ai_speed:25000,
|
||||
ai_range:&range_das800_ai,
|
||||
resolution:12,
|
||||
.name = "das-800",
|
||||
.ai_speed = 25000,
|
||||
.ai_range = &range_das800_ai,
|
||||
.resolution = 12,
|
||||
},
|
||||
{
|
||||
name: "cio-das800",
|
||||
ai_speed:20000,
|
||||
ai_range:&range_das800_ai,
|
||||
resolution:12,
|
||||
.name = "cio-das800",
|
||||
.ai_speed = 20000,
|
||||
.ai_range = &range_das800_ai,
|
||||
.resolution = 12,
|
||||
},
|
||||
{
|
||||
name: "das-801",
|
||||
ai_speed:25000,
|
||||
ai_range:&range_das801_ai,
|
||||
resolution:12,
|
||||
.name = "das-801",
|
||||
.ai_speed = 25000,
|
||||
.ai_range = &range_das801_ai,
|
||||
.resolution = 12,
|
||||
},
|
||||
{
|
||||
name: "cio-das801",
|
||||
ai_speed:20000,
|
||||
ai_range:&range_cio_das801_ai,
|
||||
resolution:12,
|
||||
.name = "cio-das801",
|
||||
.ai_speed = 20000,
|
||||
.ai_range = &range_cio_das801_ai,
|
||||
.resolution = 12,
|
||||
},
|
||||
{
|
||||
name: "das-802",
|
||||
ai_speed:25000,
|
||||
ai_range:&range_das802_ai,
|
||||
resolution:12,
|
||||
.name = "das-802",
|
||||
.ai_speed = 25000,
|
||||
.ai_range = &range_das802_ai,
|
||||
.resolution = 12,
|
||||
},
|
||||
{
|
||||
name: "cio-das802",
|
||||
ai_speed:20000,
|
||||
ai_range:&range_das802_ai,
|
||||
resolution:12,
|
||||
.name = "cio-das802",
|
||||
.ai_speed = 20000,
|
||||
.ai_range = &range_das802_ai,
|
||||
.resolution = 12,
|
||||
},
|
||||
{
|
||||
name: "cio-das802/16",
|
||||
ai_speed:10000,
|
||||
ai_range:&range_das80216_ai,
|
||||
resolution:16,
|
||||
.name = "cio-das802/16",
|
||||
.ai_speed = 10000,
|
||||
.ai_range = &range_das80216_ai,
|
||||
.resolution = 16,
|
||||
},
|
||||
};
|
||||
|
||||
@ -247,13 +247,13 @@ static int das800_detach(struct comedi_device *dev);
|
||||
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:das800_detach,
|
||||
num_names:sizeof(das800_boards) / sizeof(struct das800_board),
|
||||
board_name:&das800_boards[0].name,
|
||||
offset:sizeof(struct das800_board),
|
||||
.driver_name = "das800",
|
||||
.module = THIS_MODULE,
|
||||
.attach = das800_attach,
|
||||
.detach = das800_detach,
|
||||
.num_names = sizeof(das800_boards) / sizeof(struct das800_board),
|
||||
.board_name = &das800_boards[0].name,
|
||||
.offset = sizeof(struct das800_board),
|
||||
};
|
||||
|
||||
static irqreturn_t das800_interrupt(int irq, void *d);
|
||||
|
@ -213,15 +213,15 @@ struct dmm32at_board {
|
||||
};
|
||||
static const struct dmm32at_board dmm32at_boards[] = {
|
||||
{
|
||||
name: "dmm32at",
|
||||
ai_chans:32,
|
||||
ai_bits: 16,
|
||||
ai_ranges:&dmm32at_airanges,
|
||||
ao_chans:4,
|
||||
ao_bits: 12,
|
||||
ao_ranges:&dmm32at_aoranges,
|
||||
have_dio:1,
|
||||
dio_chans:24,
|
||||
.name = "dmm32at",
|
||||
.ai_chans = 32,
|
||||
.ai_bits = 16,
|
||||
.ai_ranges = &dmm32at_airanges,
|
||||
.ao_chans = 4,
|
||||
.ao_bits = 12,
|
||||
.ao_ranges = &dmm32at_aoranges,
|
||||
.have_dio = 1,
|
||||
.dio_chans = 24,
|
||||
},
|
||||
};
|
||||
|
||||
@ -261,10 +261,10 @@ struct dmm32at_private {
|
||||
static int dmm32at_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dmm32at_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_dmm32at = {
|
||||
driver_name:"dmm32at",
|
||||
module:THIS_MODULE,
|
||||
attach:dmm32at_attach,
|
||||
detach:dmm32at_detach,
|
||||
.driver_name = "dmm32at",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dmm32at_attach,
|
||||
.detach = dmm32at_detach,
|
||||
/* It is not necessary to implement the following members if you are
|
||||
* writing a driver for a ISA PnP or PCI card */
|
||||
/* Most drivers will support multiple types of boards by
|
||||
@ -283,9 +283,9 @@ static struct comedi_driver driver_dmm32at = {
|
||||
* the type of board in software. ISA PnP, PCI, and PCMCIA
|
||||
* devices are such boards.
|
||||
*/
|
||||
board_name:&dmm32at_boards[0].name,
|
||||
offset:sizeof(struct dmm32at_board),
|
||||
num_names:sizeof(dmm32at_boards) / sizeof(struct dmm32at_board),
|
||||
.board_name = &dmm32at_boards[0].name,
|
||||
.offset = sizeof(struct dmm32at_board),
|
||||
.num_names = sizeof(dmm32at_boards) / sizeof(struct dmm32at_board),
|
||||
};
|
||||
|
||||
/* prototypes for driver functions below */
|
||||
|
@ -91,10 +91,10 @@ Configuration options:
|
||||
static int dt2801_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dt2801_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_dt2801 = {
|
||||
driver_name:"dt2801",
|
||||
module:THIS_MODULE,
|
||||
attach:dt2801_attach,
|
||||
detach:dt2801_detach,
|
||||
.driver_name = "dt2801",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dt2801_attach,
|
||||
.detach = dt2801_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2801);
|
||||
@ -152,69 +152,69 @@ struct dt2801_board {
|
||||
*/
|
||||
static const struct dt2801_board boardtypes[] = {
|
||||
{
|
||||
name: "dt2801",
|
||||
boardcode:0x09,
|
||||
ad_diff: 2,
|
||||
ad_chan: 16,
|
||||
adbits: 12,
|
||||
adrangetype:0,
|
||||
dabits: 12},
|
||||
.name = "dt2801",
|
||||
.boardcode = 0x09,
|
||||
.ad_diff = 2,
|
||||
.ad_chan = 16,
|
||||
.adbits = 12,
|
||||
.adrangetype = 0,
|
||||
.dabits = 12},
|
||||
{
|
||||
name: "dt2801-a",
|
||||
boardcode:0x52,
|
||||
ad_diff: 2,
|
||||
ad_chan: 16,
|
||||
adbits: 12,
|
||||
adrangetype:0,
|
||||
dabits: 12},
|
||||
.name = "dt2801-a",
|
||||
.boardcode = 0x52,
|
||||
.ad_diff = 2,
|
||||
.ad_chan = 16,
|
||||
.adbits = 12,
|
||||
.adrangetype = 0,
|
||||
.dabits = 12},
|
||||
{
|
||||
name: "dt2801/5716a",
|
||||
boardcode:0x82,
|
||||
ad_diff: 1,
|
||||
ad_chan: 16,
|
||||
adbits: 16,
|
||||
adrangetype:1,
|
||||
dabits: 12},
|
||||
.name = "dt2801/5716a",
|
||||
.boardcode = 0x82,
|
||||
.ad_diff = 1,
|
||||
.ad_chan = 16,
|
||||
.adbits = 16,
|
||||
.adrangetype = 1,
|
||||
.dabits = 12},
|
||||
{
|
||||
name: "dt2805",
|
||||
boardcode:0x12,
|
||||
ad_diff: 1,
|
||||
ad_chan: 16,
|
||||
adbits: 12,
|
||||
adrangetype:0,
|
||||
dabits: 12},
|
||||
.name = "dt2805",
|
||||
.boardcode = 0x12,
|
||||
.ad_diff = 1,
|
||||
.ad_chan = 16,
|
||||
.adbits = 12,
|
||||
.adrangetype = 0,
|
||||
.dabits = 12},
|
||||
{
|
||||
name: "dt2805/5716a",
|
||||
boardcode:0x92,
|
||||
ad_diff: 1,
|
||||
ad_chan: 16,
|
||||
adbits: 16,
|
||||
adrangetype:1,
|
||||
dabits: 12},
|
||||
.name = "dt2805/5716a",
|
||||
.boardcode = 0x92,
|
||||
.ad_diff = 1,
|
||||
.ad_chan = 16,
|
||||
.adbits = 16,
|
||||
.adrangetype = 1,
|
||||
.dabits = 12},
|
||||
{
|
||||
name: "dt2808",
|
||||
boardcode:0x20,
|
||||
ad_diff: 0,
|
||||
ad_chan: 16,
|
||||
adbits: 12,
|
||||
adrangetype:2,
|
||||
dabits: 8},
|
||||
.name = "dt2808",
|
||||
.boardcode = 0x20,
|
||||
.ad_diff = 0,
|
||||
.ad_chan = 16,
|
||||
.adbits = 12,
|
||||
.adrangetype = 2,
|
||||
.dabits = 8},
|
||||
{
|
||||
name: "dt2818",
|
||||
boardcode:0xa2,
|
||||
ad_diff: 0,
|
||||
ad_chan: 4,
|
||||
adbits: 12,
|
||||
adrangetype:0,
|
||||
dabits: 12},
|
||||
.name = "dt2818",
|
||||
.boardcode = 0xa2,
|
||||
.ad_diff = 0,
|
||||
.ad_chan = 4,
|
||||
.adbits = 12,
|
||||
.adrangetype = 0,
|
||||
.dabits = 12},
|
||||
{
|
||||
name: "dt2809",
|
||||
boardcode:0xb0,
|
||||
ad_diff: 0,
|
||||
ad_chan: 8,
|
||||
adbits: 12,
|
||||
adrangetype:1,
|
||||
dabits: 12},
|
||||
.name = "dt2809",
|
||||
.boardcode = 0xb0,
|
||||
.ad_diff = 0,
|
||||
.ad_chan = 8,
|
||||
.adbits = 12,
|
||||
.adrangetype = 1,
|
||||
.dabits = 12},
|
||||
};
|
||||
|
||||
#define n_boardtypes ((sizeof(boardtypes))/(sizeof(boardtypes[0])))
|
||||
|
@ -217,13 +217,13 @@ static const struct dt2811_board boardtypes[] = {
|
||||
static int dt2811_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dt2811_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_dt2811 = {
|
||||
driver_name:"dt2811",
|
||||
module:THIS_MODULE,
|
||||
attach:dt2811_attach,
|
||||
detach:dt2811_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:sizeof(boardtypes) / sizeof(struct dt2811_board),
|
||||
offset:sizeof(struct dt2811_board),
|
||||
.driver_name = "dt2811",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dt2811_attach,
|
||||
.detach = dt2811_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = sizeof(boardtypes) / sizeof(struct dt2811_board),
|
||||
.offset = sizeof(struct dt2811_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2811);
|
||||
|
@ -62,10 +62,10 @@ addition, the clock does not seem to be very accurate.
|
||||
static int dt2814_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dt2814_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_dt2814 = {
|
||||
driver_name:"dt2814",
|
||||
module:THIS_MODULE,
|
||||
attach:dt2814_attach,
|
||||
detach:dt2814_detach,
|
||||
.driver_name = "dt2814",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dt2814_attach,
|
||||
.detach = dt2814_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2814);
|
||||
|
@ -78,10 +78,10 @@ static const struct comedi_lrange range_dt2815_ao_20_current = { 1, {
|
||||
static int dt2815_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dt2815_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_dt2815 = {
|
||||
driver_name:"dt2815",
|
||||
module:THIS_MODULE,
|
||||
attach:dt2815_attach,
|
||||
detach:dt2815_detach,
|
||||
.driver_name = "dt2815",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dt2815_attach,
|
||||
.detach = dt2815_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2815);
|
||||
|
@ -50,10 +50,10 @@ Configuration options:
|
||||
static int dt2817_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dt2817_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_dt2817 = {
|
||||
driver_name:"dt2817",
|
||||
module:THIS_MODULE,
|
||||
attach:dt2817_attach,
|
||||
detach:dt2817_detach,
|
||||
.driver_name = "dt2817",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dt2817_attach,
|
||||
.detach = dt2817_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt2817);
|
||||
|
@ -209,132 +209,132 @@ struct dt282x_board {
|
||||
};
|
||||
|
||||
static const struct dt282x_board boardtypes[] = {
|
||||
{name:"dt2821",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:20000,
|
||||
ispgl: 0,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt2821-f",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:6500,
|
||||
ispgl: 0,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt2821-g",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:4000,
|
||||
ispgl: 0,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt2823",
|
||||
adbits: 16,
|
||||
adchan_se:0,
|
||||
adchan_di:4,
|
||||
ai_speed:10000,
|
||||
ispgl: 0,
|
||||
dachan: 2,
|
||||
dabits: 16,
|
||||
},
|
||||
{name:"dt2824-pgh",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:20000,
|
||||
ispgl: 0,
|
||||
dachan: 0,
|
||||
dabits: 0,
|
||||
},
|
||||
{name:"dt2824-pgl",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:20000,
|
||||
ispgl: 1,
|
||||
dachan: 0,
|
||||
dabits: 0,
|
||||
},
|
||||
{name:"dt2825",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:20000,
|
||||
ispgl: 1,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt2827",
|
||||
adbits: 16,
|
||||
adchan_se:0,
|
||||
adchan_di:4,
|
||||
ai_speed:10000,
|
||||
ispgl: 0,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt2828",
|
||||
adbits: 12,
|
||||
adchan_se:4,
|
||||
adchan_di:0,
|
||||
ai_speed:10000,
|
||||
ispgl: 0,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt2829",
|
||||
adbits: 16,
|
||||
adchan_se:8,
|
||||
adchan_di:0,
|
||||
ai_speed:33250,
|
||||
ispgl: 0,
|
||||
dachan: 2,
|
||||
dabits: 16,
|
||||
},
|
||||
{name:"dt21-ez",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:10000,
|
||||
ispgl: 0,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt23-ez",
|
||||
adbits: 16,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:10000,
|
||||
ispgl: 0,
|
||||
dachan: 0,
|
||||
dabits: 0,
|
||||
},
|
||||
{name:"dt24-ez",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:10000,
|
||||
ispgl: 0,
|
||||
dachan: 0,
|
||||
dabits: 0,
|
||||
},
|
||||
{name:"dt24-ez-pgl",
|
||||
adbits: 12,
|
||||
adchan_se:16,
|
||||
adchan_di:8,
|
||||
ai_speed:10000,
|
||||
ispgl: 1,
|
||||
dachan: 0,
|
||||
dabits: 0,
|
||||
},
|
||||
{.name = "dt2821",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 20000,
|
||||
.ispgl = 0,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt2821-f",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 6500,
|
||||
.ispgl = 0,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt2821-g",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 4000,
|
||||
.ispgl = 0,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt2823",
|
||||
.adbits = 16,
|
||||
.adchan_se = 0,
|
||||
.adchan_di = 4,
|
||||
.ai_speed = 10000,
|
||||
.ispgl = 0,
|
||||
.dachan = 2,
|
||||
.dabits = 16,
|
||||
},
|
||||
{.name = "dt2824-pgh",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 20000,
|
||||
.ispgl = 0,
|
||||
.dachan = 0,
|
||||
.dabits = 0,
|
||||
},
|
||||
{.name = "dt2824-pgl",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 20000,
|
||||
.ispgl = 1,
|
||||
.dachan = 0,
|
||||
.dabits = 0,
|
||||
},
|
||||
{.name = "dt2825",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 20000,
|
||||
.ispgl = 1,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt2827",
|
||||
.adbits = 16,
|
||||
.adchan_se = 0,
|
||||
.adchan_di = 4,
|
||||
.ai_speed = 10000,
|
||||
.ispgl = 0,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt2828",
|
||||
.adbits = 12,
|
||||
.adchan_se = 4,
|
||||
.adchan_di = 0,
|
||||
.ai_speed = 10000,
|
||||
.ispgl = 0,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt2829",
|
||||
.adbits = 16,
|
||||
.adchan_se = 8,
|
||||
.adchan_di = 0,
|
||||
.ai_speed = 33250,
|
||||
.ispgl = 0,
|
||||
.dachan = 2,
|
||||
.dabits = 16,
|
||||
},
|
||||
{.name = "dt21-ez",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 10000,
|
||||
.ispgl = 0,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt23-ez",
|
||||
.adbits = 16,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 10000,
|
||||
.ispgl = 0,
|
||||
.dachan = 0,
|
||||
.dabits = 0,
|
||||
},
|
||||
{.name = "dt24-ez",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 10000,
|
||||
.ispgl = 0,
|
||||
.dachan = 0,
|
||||
.dabits = 0,
|
||||
},
|
||||
{.name = "dt24-ez-pgl",
|
||||
.adbits = 12,
|
||||
.adchan_se = 16,
|
||||
.adchan_di = 8,
|
||||
.ai_speed = 10000,
|
||||
.ispgl = 1,
|
||||
.dachan = 0,
|
||||
.dabits = 0,
|
||||
},
|
||||
};
|
||||
|
||||
#define n_boardtypes sizeof(boardtypes)/sizeof(struct dt282x_board)
|
||||
@ -397,13 +397,13 @@ struct dt282x_private {
|
||||
static int dt282x_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dt282x_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_dt282x = {
|
||||
driver_name:"dt282x",
|
||||
module:THIS_MODULE,
|
||||
attach:dt282x_attach,
|
||||
detach:dt282x_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:n_boardtypes,
|
||||
offset:sizeof(struct dt282x_board),
|
||||
.driver_name = "dt282x",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dt282x_attach,
|
||||
.detach = dt282x_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct dt282x_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dt282x);
|
||||
|
@ -95,69 +95,69 @@ struct dt3k_boardtype {
|
||||
|
||||
|
||||
static const struct dt3k_boardtype dt3k_boardtypes[] = {
|
||||
{name:"dt3001",
|
||||
device_id:0x22,
|
||||
adchan: 16,
|
||||
adbits: 12,
|
||||
adrange: &range_dt3000_ai,
|
||||
ai_speed:3000,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt3001-pgl",
|
||||
device_id:0x27,
|
||||
adchan: 16,
|
||||
adbits: 12,
|
||||
adrange: &range_dt3000_ai_pgl,
|
||||
ai_speed:3000,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt3002",
|
||||
device_id:0x23,
|
||||
adchan: 32,
|
||||
adbits: 12,
|
||||
adrange: &range_dt3000_ai,
|
||||
ai_speed:3000,
|
||||
dachan: 0,
|
||||
dabits: 0,
|
||||
},
|
||||
{name:"dt3003",
|
||||
device_id:0x24,
|
||||
adchan: 64,
|
||||
adbits: 12,
|
||||
adrange: &range_dt3000_ai,
|
||||
ai_speed:3000,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt3003-pgl",
|
||||
device_id:0x28,
|
||||
adchan: 64,
|
||||
adbits: 12,
|
||||
adrange: &range_dt3000_ai_pgl,
|
||||
ai_speed:3000,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt3004",
|
||||
device_id:0x25,
|
||||
adchan: 16,
|
||||
adbits: 16,
|
||||
adrange: &range_dt3000_ai,
|
||||
ai_speed:10000,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{name:"dt3005", /* a.k.a. 3004-200 */
|
||||
device_id:0x26,
|
||||
adchan: 16,
|
||||
adbits: 16,
|
||||
adrange: &range_dt3000_ai,
|
||||
ai_speed:5000,
|
||||
dachan: 2,
|
||||
dabits: 12,
|
||||
},
|
||||
{.name = "dt3001",
|
||||
.device_id = 0x22,
|
||||
.adchan = 16,
|
||||
.adbits = 12,
|
||||
.adrange = &range_dt3000_ai,
|
||||
.ai_speed = 3000,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt3001-pgl",
|
||||
.device_id = 0x27,
|
||||
.adchan = 16,
|
||||
.adbits = 12,
|
||||
.adrange = &range_dt3000_ai_pgl,
|
||||
.ai_speed = 3000,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt3002",
|
||||
.device_id = 0x23,
|
||||
.adchan = 32,
|
||||
.adbits = 12,
|
||||
.adrange = &range_dt3000_ai,
|
||||
.ai_speed = 3000,
|
||||
.dachan = 0,
|
||||
.dabits = 0,
|
||||
},
|
||||
{.name = "dt3003",
|
||||
.device_id = 0x24,
|
||||
.adchan = 64,
|
||||
.adbits = 12,
|
||||
.adrange = &range_dt3000_ai,
|
||||
.ai_speed = 3000,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt3003-pgl",
|
||||
.device_id = 0x28,
|
||||
.adchan = 64,
|
||||
.adbits = 12,
|
||||
.adrange = &range_dt3000_ai_pgl,
|
||||
.ai_speed = 3000,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt3004",
|
||||
.device_id = 0x25,
|
||||
.adchan = 16,
|
||||
.adbits = 16,
|
||||
.adrange = &range_dt3000_ai,
|
||||
.ai_speed = 10000,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
{.name = "dt3005", /* a.k.a. 3004-200 */
|
||||
.device_id = 0x26,
|
||||
.adchan = 16,
|
||||
.adbits = 16,
|
||||
.adrange = &range_dt3000_ai,
|
||||
.ai_speed = 5000,
|
||||
.dachan = 2,
|
||||
.dabits = 12,
|
||||
},
|
||||
};
|
||||
|
||||
#define n_dt3k_boards sizeof(dt3k_boardtypes)/sizeof(struct dt3k_boardtype)
|
||||
@ -278,10 +278,10 @@ struct dt3k_private {
|
||||
static int dt3000_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dt3000_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_dt3000 = {
|
||||
driver_name:"dt3000",
|
||||
module:THIS_MODULE,
|
||||
attach:dt3000_attach,
|
||||
detach:dt3000_detach,
|
||||
.driver_name = "dt3000",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dt3000_attach,
|
||||
.detach = dt3000_detach,
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_dt3000, dt3k_pci_table);
|
||||
|
@ -46,10 +46,10 @@ static int fl512_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int fl512_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver_fl512 = {
|
||||
driver_name:"fl512",
|
||||
module:THIS_MODULE,
|
||||
attach:fl512_attach,
|
||||
detach:fl512_detach,
|
||||
.driver_name = "fl512",
|
||||
.module = THIS_MODULE,
|
||||
.attach = fl512_attach,
|
||||
.detach = fl512_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_fl512);
|
||||
|
@ -270,15 +270,15 @@ struct hpdi_board {
|
||||
|
||||
static const struct hpdi_board hpdi_boards[] = {
|
||||
{
|
||||
name: "pci-hpdi32",
|
||||
device_id:PCI_DEVICE_ID_PLX_9080,
|
||||
subdevice_id:0x2400,
|
||||
.name = "pci-hpdi32",
|
||||
.device_id = PCI_DEVICE_ID_PLX_9080,
|
||||
.subdevice_id = 0x2400,
|
||||
},
|
||||
#if 0
|
||||
{
|
||||
name: "pxi-hpdi32",
|
||||
device_id:0x9656,
|
||||
subdevice_id:0x2705,
|
||||
.name = "pxi-hpdi32",
|
||||
.device_id = 0x9656,
|
||||
.subdevice_id = 0x2705,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
@ -332,10 +332,10 @@ static inline struct hpdi_private *priv(struct comedi_device * dev)
|
||||
}
|
||||
|
||||
static struct comedi_driver driver_hpdi = {
|
||||
driver_name:"gsc_hpdi",
|
||||
module:THIS_MODULE,
|
||||
attach:hpdi_attach,
|
||||
detach:hpdi_detach,
|
||||
.driver_name = "gsc_hpdi",
|
||||
.module = THIS_MODULE,
|
||||
.attach = hpdi_attach,
|
||||
.detach = hpdi_detach,
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_hpdi, hpdi_pci_table);
|
||||
|
@ -162,10 +162,10 @@ static int pci20xxx_attach(struct comedi_device *dev, struct comedi_devconfig *i
|
||||
static int pci20xxx_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver_pci20xxx = {
|
||||
driver_name:"ii_pci20kc",
|
||||
module:THIS_MODULE,
|
||||
attach:pci20xxx_attach,
|
||||
detach:pci20xxx_detach,
|
||||
.driver_name = "ii_pci20kc",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pci20xxx_attach,
|
||||
.detach = pci20xxx_detach,
|
||||
};
|
||||
|
||||
static int pci20006_init(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
|
@ -58,10 +58,10 @@ static int jr3_pci_attach(struct comedi_device *dev, struct comedi_devconfig *it
|
||||
static int jr3_pci_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver_jr3_pci = {
|
||||
driver_name:"jr3_pci",
|
||||
module:THIS_MODULE,
|
||||
attach:jr3_pci_attach,
|
||||
detach:jr3_pci_detach,
|
||||
.driver_name = "jr3_pci",
|
||||
.module = THIS_MODULE,
|
||||
.attach = jr3_pci_attach,
|
||||
.detach = jr3_pci_detach,
|
||||
};
|
||||
|
||||
static DEFINE_PCI_DEVICE_TABLE(jr3_pci_pci_table) = {
|
||||
|
@ -72,10 +72,10 @@ struct cnt_board_struct {
|
||||
|
||||
static const struct cnt_board_struct cnt_boards[] = {
|
||||
{
|
||||
name: CNT_DRIVER_NAME,
|
||||
device_id:CNT_CARD_DEVICE_ID,
|
||||
cnt_channel_nbr:3,
|
||||
cnt_bits:24}
|
||||
.name = CNT_DRIVER_NAME,
|
||||
.device_id = CNT_CARD_DEVICE_ID,
|
||||
.cnt_channel_nbr = 3,
|
||||
.cnt_bits = 24}
|
||||
};
|
||||
|
||||
#define cnt_board_nbr (sizeof(cnt_boards)/sizeof(struct cnt_board_struct))
|
||||
@ -91,10 +91,10 @@ struct cnt_device_private {
|
||||
#define devpriv ((struct cnt_device_private *)dev->private)
|
||||
|
||||
static struct comedi_driver cnt_driver = {
|
||||
driver_name:CNT_DRIVER_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:cnt_attach,
|
||||
detach:cnt_detach,
|
||||
.driver_name = CNT_DRIVER_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = cnt_attach,
|
||||
.detach = cnt_detach,
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(cnt_driver, cnt_pci_table);
|
||||
|
@ -150,10 +150,10 @@ static int mpc624_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
static int mpc624_detach(struct comedi_device *dev);
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
static struct comedi_driver driver_mpc624 = {
|
||||
driver_name:"mpc624",
|
||||
module:THIS_MODULE,
|
||||
attach:mpc624_attach,
|
||||
detach:mpc624_detach
|
||||
.driver_name = "mpc624",
|
||||
.module = THIS_MODULE,
|
||||
.attach = mpc624_attach,
|
||||
.detach = mpc624_detach
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
|
@ -49,10 +49,10 @@ struct mpc8260cpm_private {
|
||||
static int mpc8260cpm_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int mpc8260cpm_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_mpc8260cpm = {
|
||||
driver_name:"mpc8260cpm",
|
||||
module:THIS_MODULE,
|
||||
attach:mpc8260cpm_attach,
|
||||
detach:mpc8260cpm_detach,
|
||||
.driver_name = "mpc8260cpm",
|
||||
.module = THIS_MODULE,
|
||||
.attach = mpc8260cpm_attach,
|
||||
.detach = mpc8260cpm_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_mpc8260cpm);
|
||||
|
@ -85,10 +85,10 @@ Devices: [Quanser Consulting] MultiQ-3 (multiq3)
|
||||
static int multiq3_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int multiq3_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_multiq3 = {
|
||||
driver_name:"multiq3",
|
||||
module:THIS_MODULE,
|
||||
attach:multiq3_attach,
|
||||
detach:multiq3_detach,
|
||||
.driver_name = "multiq3",
|
||||
.module = THIS_MODULE,
|
||||
.attach = multiq3_attach,
|
||||
.detach = multiq3_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_multiq3);
|
||||
|
@ -78,10 +78,10 @@ Updated: Sat, 25 Jan 2003 13:24:40 -0800
|
||||
static int ni6527_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int ni6527_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_ni6527 = {
|
||||
driver_name:"ni6527",
|
||||
module:THIS_MODULE,
|
||||
attach:ni6527_attach,
|
||||
detach:ni6527_detach,
|
||||
.driver_name = "ni6527",
|
||||
.module = THIS_MODULE,
|
||||
.attach = ni6527_attach,
|
||||
.detach = ni6527_detach,
|
||||
};
|
||||
|
||||
struct ni6527_board {
|
||||
@ -92,12 +92,12 @@ struct ni6527_board {
|
||||
|
||||
static const struct ni6527_board ni6527_boards[] = {
|
||||
{
|
||||
dev_id: 0x2b20,
|
||||
name: "pci-6527",
|
||||
.dev_id = 0x2b20,
|
||||
.name = "pci-6527",
|
||||
},
|
||||
{
|
||||
dev_id: 0x2b10,
|
||||
name: "pxi-6527",
|
||||
.dev_id = 0x2b10,
|
||||
.name = "pxi-6527",
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -105,10 +105,10 @@ static inline unsigned Filter_Enable(unsigned port)
|
||||
static int ni_65xx_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int ni_65xx_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_ni_65xx = {
|
||||
driver_name:"ni_65xx",
|
||||
module:THIS_MODULE,
|
||||
attach:ni_65xx_attach,
|
||||
detach:ni_65xx_detach,
|
||||
.driver_name = "ni_65xx",
|
||||
.module = THIS_MODULE,
|
||||
.attach = ni_65xx_attach,
|
||||
.detach = ni_65xx_detach,
|
||||
};
|
||||
|
||||
struct ni_65xx_board {
|
||||
@ -123,120 +123,120 @@ struct ni_65xx_board {
|
||||
|
||||
static const struct ni_65xx_board ni_65xx_boards[] = {
|
||||
{
|
||||
dev_id: 0x7085,
|
||||
name: "pci-6509",
|
||||
num_dio_ports:12,
|
||||
invert_outputs:0},
|
||||
.dev_id = 0x7085,
|
||||
.name = "pci-6509",
|
||||
.num_dio_ports = 12,
|
||||
.invert_outputs = 0},
|
||||
{
|
||||
dev_id: 0x1710,
|
||||
name: "pxi-6509",
|
||||
num_dio_ports:12,
|
||||
invert_outputs:0},
|
||||
.dev_id = 0x1710,
|
||||
.name = "pxi-6509",
|
||||
.num_dio_ports = 12,
|
||||
.invert_outputs = 0},
|
||||
{
|
||||
dev_id: 0x7124,
|
||||
name: "pci-6510",
|
||||
num_di_ports:4},
|
||||
.dev_id = 0x7124,
|
||||
.name = "pci-6510",
|
||||
.num_di_ports = 4},
|
||||
{
|
||||
dev_id: 0x70c3,
|
||||
name: "pci-6511",
|
||||
num_di_ports:8},
|
||||
.dev_id = 0x70c3,
|
||||
.name = "pci-6511",
|
||||
.num_di_ports = 8},
|
||||
{
|
||||
dev_id: 0x70d3,
|
||||
name: "pxi-6511",
|
||||
num_di_ports:8},
|
||||
.dev_id = 0x70d3,
|
||||
.name = "pxi-6511",
|
||||
.num_di_ports = 8},
|
||||
{
|
||||
dev_id: 0x70cc,
|
||||
name: "pci-6512",
|
||||
num_do_ports:8},
|
||||
.dev_id = 0x70cc,
|
||||
.name = "pci-6512",
|
||||
.num_do_ports = 8},
|
||||
{
|
||||
dev_id: 0x70d2,
|
||||
name: "pxi-6512",
|
||||
num_do_ports:8},
|
||||
.dev_id = 0x70d2,
|
||||
.name = "pxi-6512",
|
||||
.num_do_ports = 8},
|
||||
{
|
||||
dev_id: 0x70c8,
|
||||
name: "pci-6513",
|
||||
num_do_ports:8,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x70c8,
|
||||
.name = "pci-6513",
|
||||
.num_do_ports = 8,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x70d1,
|
||||
name: "pxi-6513",
|
||||
num_do_ports:8,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x70d1,
|
||||
.name = "pxi-6513",
|
||||
.num_do_ports = 8,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x7088,
|
||||
name: "pci-6514",
|
||||
num_di_ports:4,
|
||||
num_do_ports:4,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x7088,
|
||||
.name = "pci-6514",
|
||||
.num_di_ports = 4,
|
||||
.num_do_ports = 4,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x70CD,
|
||||
name: "pxi-6514",
|
||||
num_di_ports:4,
|
||||
num_do_ports:4,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x70CD,
|
||||
.name = "pxi-6514",
|
||||
.num_di_ports = 4,
|
||||
.num_do_ports = 4,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x7087,
|
||||
name: "pci-6515",
|
||||
num_di_ports:4,
|
||||
num_do_ports:4,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x7087,
|
||||
.name = "pci-6515",
|
||||
.num_di_ports = 4,
|
||||
.num_do_ports = 4,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x70c9,
|
||||
name: "pxi-6515",
|
||||
num_di_ports:4,
|
||||
num_do_ports:4,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x70c9,
|
||||
.name = "pxi-6515",
|
||||
.num_di_ports = 4,
|
||||
.num_do_ports = 4,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x7125,
|
||||
name: "pci-6516",
|
||||
num_do_ports:4,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x7125,
|
||||
.name = "pci-6516",
|
||||
.num_do_ports = 4,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x7126,
|
||||
name: "pci-6517",
|
||||
num_do_ports:4,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x7126,
|
||||
.name = "pci-6517",
|
||||
.num_do_ports = 4,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x7127,
|
||||
name: "pci-6518",
|
||||
num_di_ports:2,
|
||||
num_do_ports:2,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x7127,
|
||||
.name = "pci-6518",
|
||||
.num_di_ports = 2,
|
||||
.num_do_ports = 2,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x7128,
|
||||
name: "pci-6519",
|
||||
num_di_ports:2,
|
||||
num_do_ports:2,
|
||||
invert_outputs:1},
|
||||
.dev_id = 0x7128,
|
||||
.name = "pci-6519",
|
||||
.num_di_ports = 2,
|
||||
.num_do_ports = 2,
|
||||
.invert_outputs = 1},
|
||||
{
|
||||
dev_id: 0x71c5,
|
||||
name: "pci-6520",
|
||||
num_di_ports:1,
|
||||
num_do_ports:1,
|
||||
.dev_id = 0x71c5,
|
||||
.name = "pci-6520",
|
||||
.num_di_ports = 1,
|
||||
.num_do_ports = 1,
|
||||
},
|
||||
{
|
||||
dev_id: 0x718b,
|
||||
name: "pci-6521",
|
||||
num_di_ports:1,
|
||||
num_do_ports:1,
|
||||
.dev_id = 0x718b,
|
||||
.name = "pci-6521",
|
||||
.num_di_ports = 1,
|
||||
.num_do_ports = 1,
|
||||
},
|
||||
{
|
||||
dev_id: 0x718c,
|
||||
name: "pxi-6521",
|
||||
num_di_ports:1,
|
||||
num_do_ports:1,
|
||||
.dev_id = 0x718c,
|
||||
.name = "pxi-6521",
|
||||
.num_di_ports = 1,
|
||||
.num_do_ports = 1,
|
||||
},
|
||||
{
|
||||
dev_id: 0x70a9,
|
||||
name: "pci-6528",
|
||||
num_di_ports:3,
|
||||
num_do_ports:3,
|
||||
.dev_id = 0x70a9,
|
||||
.name = "pci-6528",
|
||||
.num_di_ports = 3,
|
||||
.num_do_ports = 3,
|
||||
},
|
||||
{
|
||||
dev_id: 0x7086,
|
||||
name: "pxi-6528",
|
||||
num_di_ports:3,
|
||||
num_do_ports:3,
|
||||
.dev_id = 0x7086,
|
||||
.name = "pxi-6528",
|
||||
.num_di_ports = 3,
|
||||
.num_do_ports = 3,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -387,24 +387,24 @@ struct ni_660x_board {
|
||||
|
||||
static const struct ni_660x_board ni_660x_boards[] = {
|
||||
{
|
||||
dev_id: 0x2c60,
|
||||
name: "PCI-6601",
|
||||
n_chips: 1,
|
||||
.dev_id = 0x2c60,
|
||||
.name = "PCI-6601",
|
||||
.n_chips = 1,
|
||||
},
|
||||
{
|
||||
dev_id: 0x1310,
|
||||
name: "PCI-6602",
|
||||
n_chips: 2,
|
||||
.dev_id = 0x1310,
|
||||
.name = "PCI-6602",
|
||||
.n_chips = 2,
|
||||
},
|
||||
{
|
||||
dev_id: 0x1360,
|
||||
name: "PXI-6602",
|
||||
n_chips: 2,
|
||||
.dev_id = 0x1360,
|
||||
.name = "PXI-6602",
|
||||
.n_chips = 2,
|
||||
},
|
||||
{
|
||||
dev_id: 0x2cc0,
|
||||
name: "PXI-6608",
|
||||
n_chips: 2,
|
||||
.dev_id = 0x2cc0,
|
||||
.name = "PXI-6608",
|
||||
.n_chips = 2,
|
||||
},
|
||||
};
|
||||
|
||||
@ -455,10 +455,10 @@ static void ni_660x_select_pfi_output(struct comedi_device *dev, unsigned pfi_ch
|
||||
unsigned output_select);
|
||||
|
||||
static struct comedi_driver driver_ni_660x = {
|
||||
driver_name:"ni_660x",
|
||||
module:THIS_MODULE,
|
||||
attach:ni_660x_attach,
|
||||
detach:ni_660x_detach,
|
||||
.driver_name = "ni_660x",
|
||||
.module = THIS_MODULE,
|
||||
.attach = ni_660x_attach,
|
||||
.detach = ni_660x_detach,
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_ni_660x, ni_660x_pci_table);
|
||||
|
@ -69,22 +69,22 @@ struct ni_670x_board {
|
||||
|
||||
static const struct ni_670x_board ni_670x_boards[] = {
|
||||
{
|
||||
dev_id: 0x2c90,
|
||||
name: "PCI-6703",
|
||||
ao_chans:16,
|
||||
ao_bits: 16,
|
||||
.dev_id = 0x2c90,
|
||||
.name = "PCI-6703",
|
||||
.ao_chans = 16,
|
||||
.ao_bits = 16,
|
||||
},
|
||||
{
|
||||
dev_id: 0x1920,
|
||||
name: "PXI-6704",
|
||||
ao_chans:32,
|
||||
ao_bits: 16,
|
||||
.dev_id = 0x1920,
|
||||
.name = "PXI-6704",
|
||||
.ao_chans = 32,
|
||||
.ao_bits = 16,
|
||||
},
|
||||
{
|
||||
dev_id: 0x1290,
|
||||
name: "PCI-6704",
|
||||
ao_chans:32,
|
||||
ao_bits: 16,
|
||||
.dev_id = 0x1290,
|
||||
.name = "PCI-6704",
|
||||
.ao_chans = 32,
|
||||
.ao_bits = 16,
|
||||
},
|
||||
};
|
||||
|
||||
@ -115,10 +115,10 @@ static int ni_670x_attach(struct comedi_device *dev, struct comedi_devconfig *it
|
||||
static int ni_670x_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver_ni_670x = {
|
||||
driver_name:"ni_670x",
|
||||
module:THIS_MODULE,
|
||||
attach:ni_670x_attach,
|
||||
detach:ni_670x_detach,
|
||||
.driver_name = "ni_670x",
|
||||
.module = THIS_MODULE,
|
||||
.attach = ni_670x_attach,
|
||||
.detach = ni_670x_detach,
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_ni_670x, ni_670x_pci_table);
|
||||
|
@ -138,16 +138,16 @@ static const struct comedi_lrange range_a2150 = {
|
||||
enum { a2150_c, a2150_s };
|
||||
static const struct a2150_board a2150_boards[] = {
|
||||
{
|
||||
name: "at-a2150c",
|
||||
clock: {31250, 22676, 20833, 19531},
|
||||
num_clocks:4,
|
||||
ai_speed:19531,
|
||||
.name = "at-a2150c",
|
||||
.clock = {31250, 22676, 20833, 19531},
|
||||
.num_clocks = 4,
|
||||
.ai_speed = 19531,
|
||||
},
|
||||
{
|
||||
name: "at-a2150s",
|
||||
clock: {62500, 50000, 41667, 0},
|
||||
num_clocks:3,
|
||||
ai_speed:41667,
|
||||
.name = "at-a2150s",
|
||||
.clock = {62500, 50000, 41667, 0},
|
||||
.num_clocks = 3,
|
||||
.ai_speed = 41667,
|
||||
},
|
||||
};
|
||||
|
||||
@ -174,10 +174,10 @@ static int a2150_detach(struct comedi_device *dev);
|
||||
static int a2150_cancel(struct comedi_device *dev, struct comedi_subdevice *s);
|
||||
|
||||
static struct comedi_driver driver_a2150 = {
|
||||
driver_name:"ni_at_a2150",
|
||||
module:THIS_MODULE,
|
||||
attach:a2150_attach,
|
||||
detach:a2150_detach,
|
||||
.driver_name = "ni_at_a2150",
|
||||
.module = THIS_MODULE,
|
||||
.attach = a2150_attach,
|
||||
.detach = a2150_detach,
|
||||
};
|
||||
|
||||
static irqreturn_t a2150_interrupt(int irq, void *d);
|
||||
|
@ -158,12 +158,12 @@ struct atao_board {
|
||||
|
||||
static const struct atao_board atao_boards[] = {
|
||||
{
|
||||
name: "ai-ao-6",
|
||||
n_ao_chans:6,
|
||||
.name = "ai-ao-6",
|
||||
.n_ao_chans = 6,
|
||||
},
|
||||
{
|
||||
name: "ai-ao-10",
|
||||
n_ao_chans:10,
|
||||
.name = "ai-ao-10",
|
||||
.n_ao_chans = 10,
|
||||
},
|
||||
};
|
||||
|
||||
@ -184,13 +184,13 @@ struct atao_private {
|
||||
static int atao_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int atao_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_atao = {
|
||||
driver_name:"ni_at_ao",
|
||||
module:THIS_MODULE,
|
||||
attach:atao_attach,
|
||||
detach:atao_detach,
|
||||
board_name:&atao_boards[0].name,
|
||||
offset:sizeof(struct atao_board),
|
||||
num_names:sizeof(atao_boards) / sizeof(struct atao_board),
|
||||
.driver_name = "ni_at_ao",
|
||||
.module = THIS_MODULE,
|
||||
.attach = atao_attach,
|
||||
.detach = atao_detach,
|
||||
.board_name = &atao_boards[0].name,
|
||||
.offset = sizeof(struct atao_board),
|
||||
.num_names = sizeof(atao_boards) / sizeof(struct atao_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_atao);
|
||||
|
@ -115,155 +115,155 @@ are not supported.
|
||||
#define MAX_N_CALDACS 32
|
||||
|
||||
static const struct ni_board_struct ni_boards[] = {
|
||||
{device_id:44,
|
||||
isapnp_id:0x0000,/* XXX unknown */
|
||||
name: "at-mio-16e-1",
|
||||
n_adchan:16,
|
||||
adbits: 12,
|
||||
ai_fifo_depth:8192,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_16,
|
||||
ai_speed:800,
|
||||
n_aochan:2,
|
||||
aobits: 12,
|
||||
ao_fifo_depth:2048,
|
||||
{.device_id = 44,
|
||||
.isapnp_id = 0x0000,/* XXX unknown */
|
||||
.name = "at-mio-16e-1",
|
||||
.n_adchan = 16,
|
||||
.adbits = 12,
|
||||
.ai_fifo_depth = 8192,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
.ai_speed = 800,
|
||||
.n_aochan = 2,
|
||||
.aobits = 12,
|
||||
.ao_fifo_depth = 2048,
|
||||
.ao_range_table = &range_ni_E_ao_ext,
|
||||
ao_unipolar:1,
|
||||
ao_speed:1000,
|
||||
has_8255:0,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 1000,
|
||||
.has_8255 = 0,
|
||||
.num_p0_dio_channels = 8,
|
||||
caldac: {mb88341},
|
||||
.caldac = {mb88341},
|
||||
},
|
||||
{device_id:25,
|
||||
isapnp_id:0x1900,
|
||||
name: "at-mio-16e-2",
|
||||
n_adchan:16,
|
||||
adbits: 12,
|
||||
ai_fifo_depth:2048,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_16,
|
||||
ai_speed:2000,
|
||||
n_aochan:2,
|
||||
aobits: 12,
|
||||
ao_fifo_depth:2048,
|
||||
{.device_id = 25,
|
||||
.isapnp_id = 0x1900,
|
||||
.name = "at-mio-16e-2",
|
||||
.n_adchan = 16,
|
||||
.adbits = 12,
|
||||
.ai_fifo_depth = 2048,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
.ai_speed = 2000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 12,
|
||||
.ao_fifo_depth = 2048,
|
||||
.ao_range_table = &range_ni_E_ao_ext,
|
||||
ao_unipolar:1,
|
||||
ao_speed:1000,
|
||||
has_8255:0,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 1000,
|
||||
.has_8255 = 0,
|
||||
.num_p0_dio_channels = 8,
|
||||
caldac: {mb88341},
|
||||
.caldac = {mb88341},
|
||||
},
|
||||
{device_id:36,
|
||||
isapnp_id:0x2400,
|
||||
name: "at-mio-16e-10",
|
||||
n_adchan:16,
|
||||
adbits: 12,
|
||||
ai_fifo_depth:512,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_16,
|
||||
ai_speed:10000,
|
||||
n_aochan:2,
|
||||
aobits: 12,
|
||||
ao_fifo_depth:0,
|
||||
{.device_id = 36,
|
||||
.isapnp_id = 0x2400,
|
||||
.name = "at-mio-16e-10",
|
||||
.n_adchan = 16,
|
||||
.adbits = 12,
|
||||
.ai_fifo_depth = 512,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
.ai_speed = 10000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 12,
|
||||
.ao_fifo_depth = 0,
|
||||
.ao_range_table = &range_ni_E_ao_ext,
|
||||
ao_unipolar:1,
|
||||
ao_speed:10000,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 10000,
|
||||
.num_p0_dio_channels = 8,
|
||||
caldac: {ad8804_debug},
|
||||
has_8255:0,
|
||||
.caldac = {ad8804_debug},
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{device_id:37,
|
||||
isapnp_id:0x2500,
|
||||
name: "at-mio-16de-10",
|
||||
n_adchan:16,
|
||||
adbits: 12,
|
||||
ai_fifo_depth:512,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_16,
|
||||
ai_speed:10000,
|
||||
n_aochan:2,
|
||||
aobits: 12,
|
||||
ao_fifo_depth:0,
|
||||
{.device_id = 37,
|
||||
.isapnp_id = 0x2500,
|
||||
.name = "at-mio-16de-10",
|
||||
.n_adchan = 16,
|
||||
.adbits = 12,
|
||||
.ai_fifo_depth = 512,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
.ai_speed = 10000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 12,
|
||||
.ao_fifo_depth = 0,
|
||||
.ao_range_table = &range_ni_E_ao_ext,
|
||||
ao_unipolar:1,
|
||||
ao_speed:10000,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 10000,
|
||||
.num_p0_dio_channels = 8,
|
||||
caldac: {ad8804_debug},
|
||||
has_8255:1,
|
||||
.caldac = {ad8804_debug},
|
||||
.has_8255 = 1,
|
||||
},
|
||||
{device_id:38,
|
||||
isapnp_id:0x2600,
|
||||
name: "at-mio-64e-3",
|
||||
n_adchan:64,
|
||||
adbits: 12,
|
||||
ai_fifo_depth:2048,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_16,
|
||||
ai_speed:2000,
|
||||
n_aochan:2,
|
||||
aobits: 12,
|
||||
ao_fifo_depth:2048,
|
||||
{.device_id = 38,
|
||||
.isapnp_id = 0x2600,
|
||||
.name = "at-mio-64e-3",
|
||||
.n_adchan = 64,
|
||||
.adbits = 12,
|
||||
.ai_fifo_depth = 2048,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
.ai_speed = 2000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 12,
|
||||
.ao_fifo_depth = 2048,
|
||||
.ao_range_table = &range_ni_E_ao_ext,
|
||||
ao_unipolar:1,
|
||||
ao_speed:1000,
|
||||
has_8255:0,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 1000,
|
||||
.has_8255 = 0,
|
||||
.num_p0_dio_channels = 8,
|
||||
caldac: {ad8804_debug},
|
||||
.caldac = {ad8804_debug},
|
||||
},
|
||||
{device_id:39,
|
||||
isapnp_id:0x2700,
|
||||
name: "at-mio-16xe-50",
|
||||
n_adchan:16,
|
||||
adbits: 16,
|
||||
ai_fifo_depth:512,
|
||||
alwaysdither:1,
|
||||
gainlkup:ai_gain_8,
|
||||
ai_speed:50000,
|
||||
n_aochan:2,
|
||||
aobits: 12,
|
||||
ao_fifo_depth:0,
|
||||
{.device_id = 39,
|
||||
.isapnp_id = 0x2700,
|
||||
.name = "at-mio-16xe-50",
|
||||
.n_adchan = 16,
|
||||
.adbits = 16,
|
||||
.ai_fifo_depth = 512,
|
||||
.alwaysdither = 1,
|
||||
.gainlkup = ai_gain_8,
|
||||
.ai_speed = 50000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 12,
|
||||
.ao_fifo_depth = 0,
|
||||
.ao_range_table = &range_bipolar10,
|
||||
ao_unipolar:0,
|
||||
ao_speed:50000,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 50000,
|
||||
.num_p0_dio_channels = 8,
|
||||
caldac: {dac8800, dac8043},
|
||||
has_8255:0,
|
||||
.caldac = {dac8800, dac8043},
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{device_id:50,
|
||||
isapnp_id:0x0000,/* XXX unknown */
|
||||
name: "at-mio-16xe-10",
|
||||
n_adchan:16,
|
||||
adbits: 16,
|
||||
ai_fifo_depth:512,
|
||||
alwaysdither:1,
|
||||
gainlkup:ai_gain_14,
|
||||
ai_speed:10000,
|
||||
n_aochan:2,
|
||||
aobits: 16,
|
||||
ao_fifo_depth:2048,
|
||||
{.device_id = 50,
|
||||
.isapnp_id = 0x0000,/* XXX unknown */
|
||||
.name = "at-mio-16xe-10",
|
||||
.n_adchan = 16,
|
||||
.adbits = 16,
|
||||
.ai_fifo_depth = 512,
|
||||
.alwaysdither = 1,
|
||||
.gainlkup = ai_gain_14,
|
||||
.ai_speed = 10000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 16,
|
||||
.ao_fifo_depth = 2048,
|
||||
.ao_range_table = &range_ni_E_ao_ext,
|
||||
ao_unipolar:1,
|
||||
ao_speed:1000,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 1000,
|
||||
.num_p0_dio_channels = 8,
|
||||
caldac: {dac8800, dac8043, ad8522},
|
||||
has_8255:0,
|
||||
.caldac = {dac8800, dac8043, ad8522},
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{device_id:51,
|
||||
isapnp_id:0x0000,/* XXX unknown */
|
||||
name: "at-ai-16xe-10",
|
||||
n_adchan:16,
|
||||
adbits: 16,
|
||||
ai_fifo_depth:512,
|
||||
alwaysdither:1, /* unknown */
|
||||
gainlkup:ai_gain_14,
|
||||
ai_speed:10000,
|
||||
n_aochan:0,
|
||||
aobits: 0,
|
||||
ao_fifo_depth:0,
|
||||
ao_unipolar:0,
|
||||
{.device_id = 51,
|
||||
.isapnp_id = 0x0000,/* XXX unknown */
|
||||
.name = "at-ai-16xe-10",
|
||||
.n_adchan = 16,
|
||||
.adbits = 16,
|
||||
.ai_fifo_depth = 512,
|
||||
.alwaysdither = 1, /* unknown */
|
||||
.gainlkup = ai_gain_14,
|
||||
.ai_speed = 10000,
|
||||
.n_aochan = 0,
|
||||
.aobits = 0,
|
||||
.ao_fifo_depth = 0,
|
||||
.ao_unipolar = 0,
|
||||
.num_p0_dio_channels = 8,
|
||||
caldac: {dac8800, dac8043, ad8522},
|
||||
has_8255:0,
|
||||
.caldac = {dac8800, dac8043, ad8522},
|
||||
.has_8255 = 0,
|
||||
}
|
||||
};
|
||||
|
||||
@ -342,10 +342,10 @@ MODULE_DEVICE_TABLE(pnp, device_ids);
|
||||
static int ni_atmio_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int ni_atmio_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_atmio = {
|
||||
driver_name:"ni_atmio",
|
||||
module:THIS_MODULE,
|
||||
attach:ni_atmio_attach,
|
||||
detach:ni_atmio_detach,
|
||||
.driver_name = "ni_atmio",
|
||||
.module = THIS_MODULE,
|
||||
.attach = ni_atmio_attach,
|
||||
.detach = ni_atmio_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_atmio);
|
||||
|
@ -111,12 +111,12 @@ struct atmio16_board_t {
|
||||
|
||||
static const struct atmio16_board_t atmio16_boards[] = {
|
||||
{
|
||||
name: "atmio16",
|
||||
has_8255:0,
|
||||
.name = "atmio16",
|
||||
.has_8255 = 0,
|
||||
},
|
||||
{
|
||||
name: "atmio16d",
|
||||
has_8255:1,
|
||||
.name = "atmio16d",
|
||||
.has_8255 = 1,
|
||||
},
|
||||
};
|
||||
|
||||
@ -137,13 +137,13 @@ static void reset_atmio16d(struct comedi_device * dev);
|
||||
|
||||
/* main driver struct */
|
||||
static struct comedi_driver driver_atmio16d = {
|
||||
driver_name:"atmio16",
|
||||
module:THIS_MODULE,
|
||||
attach:atmio16d_attach,
|
||||
detach:atmio16d_detach,
|
||||
board_name:&atmio16_boards[0].name,
|
||||
num_names:n_atmio16_boards,
|
||||
offset:sizeof(struct atmio16_board_t),
|
||||
.driver_name = "atmio16",
|
||||
.module = THIS_MODULE,
|
||||
.attach = atmio16d_attach,
|
||||
.detach = atmio16d_detach,
|
||||
.board_name = &atmio16_boards[0].name,
|
||||
.num_names = n_atmio16_boards,
|
||||
.offset = sizeof(struct atmio16_board_t),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_atmio16d);
|
||||
|
@ -73,16 +73,16 @@ struct dio700_board {
|
||||
|
||||
static const struct dio700_board dio700_boards[] = {
|
||||
{
|
||||
name: "daqcard-700",
|
||||
device_id:0x4743,/* 0x10b is manufacturer id, 0x4743 is device id */
|
||||
bustype: pcmcia_bustype,
|
||||
have_dio:1,
|
||||
.name = "daqcard-700",
|
||||
.device_id = 0x4743,/* 0x10b is manufacturer id, 0x4743 is device id */
|
||||
.bustype = pcmcia_bustype,
|
||||
.have_dio = 1,
|
||||
},
|
||||
{
|
||||
name: "ni_daq_700",
|
||||
device_id:0x4743,/* 0x10b is manufacturer id, 0x4743 is device id */
|
||||
bustype: pcmcia_bustype,
|
||||
have_dio:1,
|
||||
.name = "ni_daq_700",
|
||||
.device_id = 0x4743,/* 0x10b is manufacturer id, 0x4743 is device id */
|
||||
.bustype = pcmcia_bustype,
|
||||
.have_dio = 1,
|
||||
},
|
||||
};
|
||||
|
||||
@ -100,13 +100,13 @@ struct dio700_private {
|
||||
#define devpriv ((struct dio700_private *)dev->private)
|
||||
|
||||
static struct comedi_driver driver_dio700 = {
|
||||
driver_name:"ni_daq_700",
|
||||
module:THIS_MODULE,
|
||||
attach:dio700_attach,
|
||||
detach:dio700_detach,
|
||||
num_names:sizeof(dio700_boards) / sizeof(struct dio700_board),
|
||||
board_name:&dio700_boards[0].name,
|
||||
offset:sizeof(struct dio700_board),
|
||||
.driver_name = "ni_daq_700",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dio700_attach,
|
||||
.detach = dio700_detach,
|
||||
.num_names = sizeof(dio700_boards) / sizeof(struct dio700_board),
|
||||
.board_name = &dio700_boards[0].name,
|
||||
.offset = sizeof(struct dio700_board),
|
||||
};
|
||||
|
||||
/* the real driver routines */
|
||||
|
@ -73,16 +73,16 @@ struct dio24_board_struct {
|
||||
|
||||
static const struct dio24_board_struct dio24_boards[] = {
|
||||
{
|
||||
name: "daqcard-dio24",
|
||||
device_id:0x475c,/* 0x10b is manufacturer id, 0x475c is device id */
|
||||
bustype: pcmcia_bustype,
|
||||
have_dio:1,
|
||||
.name = "daqcard-dio24",
|
||||
.device_id = 0x475c,/* 0x10b is manufacturer id, 0x475c is device id */
|
||||
.bustype = pcmcia_bustype,
|
||||
.have_dio = 1,
|
||||
},
|
||||
{
|
||||
name: "ni_daq_dio24",
|
||||
device_id:0x475c,/* 0x10b is manufacturer id, 0x475c is device id */
|
||||
bustype: pcmcia_bustype,
|
||||
have_dio:1,
|
||||
.name = "ni_daq_dio24",
|
||||
.device_id = 0x475c,/* 0x10b is manufacturer id, 0x475c is device id */
|
||||
.bustype = pcmcia_bustype,
|
||||
.have_dio = 1,
|
||||
},
|
||||
};
|
||||
|
||||
@ -100,13 +100,13 @@ struct dio24_private {
|
||||
#define devpriv ((struct dio24_private *)dev->private)
|
||||
|
||||
static struct comedi_driver driver_dio24 = {
|
||||
driver_name:"ni_daq_dio24",
|
||||
module:THIS_MODULE,
|
||||
attach:dio24_attach,
|
||||
detach:dio24_detach,
|
||||
num_names:sizeof(dio24_boards) / sizeof(struct dio24_board_struct),
|
||||
board_name:&dio24_boards[0].name,
|
||||
offset:sizeof(struct dio24_board_struct),
|
||||
.driver_name = "ni_daq_dio24",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dio24_attach,
|
||||
.detach = dio24_detach,
|
||||
.num_names = sizeof(dio24_boards) / sizeof(struct dio24_board_struct),
|
||||
.board_name = &dio24_boards[0].name,
|
||||
.offset = sizeof(struct dio24_board_struct),
|
||||
};
|
||||
|
||||
static int dio24_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
|
@ -362,54 +362,54 @@ static inline void labpc_writeb(unsigned int byte, unsigned long address)
|
||||
|
||||
static const struct labpc_board_struct labpc_boards[] = {
|
||||
{
|
||||
name: "lab-pc-1200",
|
||||
ai_speed:10000,
|
||||
bustype: isa_bustype,
|
||||
register_layout:labpc_1200_layout,
|
||||
has_ao: 1,
|
||||
ai_range_table:&range_labpc_1200_ai,
|
||||
ai_range_code:labpc_1200_ai_gain_bits,
|
||||
ai_range_is_unipolar:labpc_1200_is_unipolar,
|
||||
ai_scan_up:1,
|
||||
memory_mapped_io:0,
|
||||
.name = "lab-pc-1200",
|
||||
.ai_speed = 10000,
|
||||
.bustype = isa_bustype,
|
||||
.register_layout = labpc_1200_layout,
|
||||
.has_ao = 1,
|
||||
.ai_range_table = &range_labpc_1200_ai,
|
||||
.ai_range_code = labpc_1200_ai_gain_bits,
|
||||
.ai_range_is_unipolar = labpc_1200_is_unipolar,
|
||||
.ai_scan_up = 1,
|
||||
.memory_mapped_io = 0,
|
||||
},
|
||||
{
|
||||
name: "lab-pc-1200ai",
|
||||
ai_speed:10000,
|
||||
bustype: isa_bustype,
|
||||
register_layout:labpc_1200_layout,
|
||||
has_ao: 0,
|
||||
ai_range_table:&range_labpc_1200_ai,
|
||||
ai_range_code:labpc_1200_ai_gain_bits,
|
||||
ai_range_is_unipolar:labpc_1200_is_unipolar,
|
||||
ai_scan_up:1,
|
||||
memory_mapped_io:0,
|
||||
.name = "lab-pc-1200ai",
|
||||
.ai_speed = 10000,
|
||||
.bustype = isa_bustype,
|
||||
.register_layout = labpc_1200_layout,
|
||||
.has_ao = 0,
|
||||
.ai_range_table = &range_labpc_1200_ai,
|
||||
.ai_range_code = labpc_1200_ai_gain_bits,
|
||||
.ai_range_is_unipolar = labpc_1200_is_unipolar,
|
||||
.ai_scan_up = 1,
|
||||
.memory_mapped_io = 0,
|
||||
},
|
||||
{
|
||||
name: "lab-pc+",
|
||||
ai_speed:12000,
|
||||
bustype: isa_bustype,
|
||||
register_layout:labpc_plus_layout,
|
||||
has_ao: 1,
|
||||
ai_range_table:&range_labpc_plus_ai,
|
||||
ai_range_code:labpc_plus_ai_gain_bits,
|
||||
ai_range_is_unipolar:labpc_plus_is_unipolar,
|
||||
ai_scan_up:0,
|
||||
memory_mapped_io:0,
|
||||
.name = "lab-pc+",
|
||||
.ai_speed = 12000,
|
||||
.bustype = isa_bustype,
|
||||
.register_layout = labpc_plus_layout,
|
||||
.has_ao = 1,
|
||||
.ai_range_table = &range_labpc_plus_ai,
|
||||
.ai_range_code = labpc_plus_ai_gain_bits,
|
||||
.ai_range_is_unipolar = labpc_plus_is_unipolar,
|
||||
.ai_scan_up = 0,
|
||||
.memory_mapped_io = 0,
|
||||
},
|
||||
#ifdef CONFIG_COMEDI_PCI
|
||||
{
|
||||
name: "pci-1200",
|
||||
device_id:0x161,
|
||||
ai_speed:10000,
|
||||
bustype: pci_bustype,
|
||||
register_layout:labpc_1200_layout,
|
||||
has_ao: 1,
|
||||
ai_range_table:&range_labpc_1200_ai,
|
||||
ai_range_code:labpc_1200_ai_gain_bits,
|
||||
ai_range_is_unipolar:labpc_1200_is_unipolar,
|
||||
ai_scan_up:1,
|
||||
memory_mapped_io:1,
|
||||
.name = "pci-1200",
|
||||
.device_id = 0x161,
|
||||
.ai_speed = 10000,
|
||||
.bustype = pci_bustype,
|
||||
.register_layout = labpc_1200_layout,
|
||||
.has_ao = 1,
|
||||
.ai_range_table = &range_labpc_1200_ai,
|
||||
.ai_range_code = labpc_1200_ai_gain_bits,
|
||||
.ai_range_is_unipolar = labpc_1200_is_unipolar,
|
||||
.ai_scan_up = 1,
|
||||
.memory_mapped_io = 1,
|
||||
},
|
||||
/* dummy entry so pci board works when comedi_config is passed driver name */
|
||||
{
|
||||
|
@ -83,31 +83,31 @@ static int labpc_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
|
||||
static const struct labpc_board_struct labpc_cs_boards[] = {
|
||||
{
|
||||
name: "daqcard-1200",
|
||||
device_id:0x103, /* 0x10b is manufacturer id, 0x103 is device id */
|
||||
ai_speed:10000,
|
||||
bustype: pcmcia_bustype,
|
||||
register_layout:labpc_1200_layout,
|
||||
has_ao: 1,
|
||||
ai_range_table:&range_labpc_1200_ai,
|
||||
ai_range_code:labpc_1200_ai_gain_bits,
|
||||
ai_range_is_unipolar:labpc_1200_is_unipolar,
|
||||
ai_scan_up:0,
|
||||
memory_mapped_io:0,
|
||||
.name = "daqcard-1200",
|
||||
.device_id = 0x103, /* 0x10b is manufacturer id, 0x103 is device id */
|
||||
.ai_speed = 10000,
|
||||
.bustype = pcmcia_bustype,
|
||||
.register_layout = labpc_1200_layout,
|
||||
.has_ao = 1,
|
||||
.ai_range_table = &range_labpc_1200_ai,
|
||||
.ai_range_code = labpc_1200_ai_gain_bits,
|
||||
.ai_range_is_unipolar = labpc_1200_is_unipolar,
|
||||
.ai_scan_up = 0,
|
||||
.memory_mapped_io = 0,
|
||||
},
|
||||
/* duplicate entry, to support using alternate name */
|
||||
{
|
||||
name: "ni_labpc_cs",
|
||||
device_id:0x103,
|
||||
ai_speed:10000,
|
||||
bustype: pcmcia_bustype,
|
||||
register_layout:labpc_1200_layout,
|
||||
has_ao: 1,
|
||||
ai_range_table:&range_labpc_1200_ai,
|
||||
ai_range_code:labpc_1200_ai_gain_bits,
|
||||
ai_range_is_unipolar:labpc_1200_is_unipolar,
|
||||
ai_scan_up:0,
|
||||
memory_mapped_io:0,
|
||||
.name = "ni_labpc_cs",
|
||||
.device_id = 0x103,
|
||||
.ai_speed = 10000,
|
||||
.bustype = pcmcia_bustype,
|
||||
.register_layout = labpc_1200_layout,
|
||||
.has_ao = 1,
|
||||
.ai_range_table = &range_labpc_1200_ai,
|
||||
.ai_range_code = labpc_1200_ai_gain_bits,
|
||||
.ai_range_is_unipolar = labpc_1200_is_unipolar,
|
||||
.ai_scan_up = 0,
|
||||
.memory_mapped_io = 0,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -67,102 +67,102 @@ See the notes in the ni_atmio.o driver.
|
||||
#define MAX_N_CALDACS 32
|
||||
|
||||
static const struct ni_board_struct ni_boards[] = {
|
||||
{device_id:0x010d,
|
||||
name: "DAQCard-ai-16xe-50",
|
||||
n_adchan:16,
|
||||
adbits: 16,
|
||||
ai_fifo_depth:1024,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_8,
|
||||
ai_speed:5000,
|
||||
n_aochan:0,
|
||||
aobits: 0,
|
||||
ao_fifo_depth:0,
|
||||
ao_unipolar:0,
|
||||
num_p0_dio_channels:8,
|
||||
has_8255:0,
|
||||
caldac: {dac8800, dac8043},
|
||||
},
|
||||
{device_id:0x010c,
|
||||
name: "DAQCard-ai-16e-4",
|
||||
n_adchan:16,
|
||||
adbits: 12,
|
||||
ai_fifo_depth:1024,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_16,
|
||||
ai_speed:4000,
|
||||
n_aochan:0,
|
||||
aobits: 0,
|
||||
ao_fifo_depth:0,
|
||||
ao_unipolar:0,
|
||||
num_p0_dio_channels:8,
|
||||
has_8255:0,
|
||||
caldac: {mb88341}, /* verified */
|
||||
},
|
||||
{device_id:0x02c4,
|
||||
name: "DAQCard-6062E",
|
||||
n_adchan:16,
|
||||
adbits: 12,
|
||||
ai_fifo_depth:8192,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_16,
|
||||
ai_speed:2000,
|
||||
n_aochan:2,
|
||||
aobits: 12,
|
||||
ao_fifo_depth:2048,
|
||||
ao_range_table:&range_bipolar10,
|
||||
ao_unipolar:0,
|
||||
ao_speed:1176,
|
||||
num_p0_dio_channels:8,
|
||||
has_8255:0,
|
||||
caldac: {ad8804_debug}, /* verified */
|
||||
},
|
||||
{device_id:0x075e,
|
||||
name: "DAQCard-6024E", /* specs incorrect! */
|
||||
n_adchan:16,
|
||||
adbits: 12,
|
||||
ai_fifo_depth:1024,
|
||||
alwaysdither:0,
|
||||
gainlkup:ai_gain_16,
|
||||
ai_speed:5000,
|
||||
n_aochan:2,
|
||||
aobits: 12,
|
||||
ao_fifo_depth:0,
|
||||
ao_range_table:&range_bipolar10,
|
||||
ao_unipolar:0,
|
||||
ao_speed:1000000,
|
||||
num_p0_dio_channels:8,
|
||||
has_8255:0,
|
||||
caldac: {ad8804_debug},
|
||||
},
|
||||
{device_id:0x0245,
|
||||
name: "DAQCard-6036E", /* specs incorrect! */
|
||||
n_adchan:16,
|
||||
adbits: 16,
|
||||
ai_fifo_depth:1024,
|
||||
alwaysdither:1,
|
||||
gainlkup:ai_gain_4,
|
||||
ai_speed:5000,
|
||||
n_aochan:2,
|
||||
aobits: 16,
|
||||
ao_fifo_depth:0,
|
||||
ao_range_table:&range_bipolar10,
|
||||
ao_unipolar:0,
|
||||
ao_speed:1000000,
|
||||
num_p0_dio_channels:8,
|
||||
has_8255:0,
|
||||
caldac: {ad8804_debug},
|
||||
},
|
||||
{.device_id = 0x010d,
|
||||
.name = "DAQCard-ai-16xe-50",
|
||||
.n_adchan = 16,
|
||||
.adbits = 16,
|
||||
.ai_fifo_depth = 1024,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_8,
|
||||
.ai_speed = 5000,
|
||||
.n_aochan = 0,
|
||||
.aobits = 0,
|
||||
.ao_fifo_depth = 0,
|
||||
.ao_unipolar = 0,
|
||||
.num_p0_dio_channels = 8,
|
||||
.has_8255 = 0,
|
||||
.caldac = {dac8800, dac8043},
|
||||
},
|
||||
{.device_id = 0x010c,
|
||||
.name = "DAQCard-ai-16e-4",
|
||||
.n_adchan = 16,
|
||||
.adbits = 12,
|
||||
.ai_fifo_depth = 1024,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
.ai_speed = 4000,
|
||||
.n_aochan = 0,
|
||||
.aobits = 0,
|
||||
.ao_fifo_depth = 0,
|
||||
.ao_unipolar = 0,
|
||||
.num_p0_dio_channels = 8,
|
||||
.has_8255 = 0,
|
||||
.caldac = {mb88341}, /* verified */
|
||||
},
|
||||
{.device_id = 0x02c4,
|
||||
.name = "DAQCard-6062E",
|
||||
.n_adchan = 16,
|
||||
.adbits = 12,
|
||||
.ai_fifo_depth = 8192,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
.ai_speed = 2000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 12,
|
||||
.ao_fifo_depth = 2048,
|
||||
.ao_range_table = &range_bipolar10,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 1176,
|
||||
.num_p0_dio_channels = 8,
|
||||
.has_8255 = 0,
|
||||
.caldac = {ad8804_debug}, /* verified */
|
||||
},
|
||||
{.device_id = 0x075e,
|
||||
.name = "DAQCard-6024E", /* specs incorrect! */
|
||||
.n_adchan = 16,
|
||||
.adbits = 12,
|
||||
.ai_fifo_depth = 1024,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
.ai_speed = 5000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 12,
|
||||
.ao_fifo_depth = 0,
|
||||
.ao_range_table = &range_bipolar10,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 1000000,
|
||||
.num_p0_dio_channels = 8,
|
||||
.has_8255 = 0,
|
||||
.caldac = {ad8804_debug},
|
||||
},
|
||||
{.device_id = 0x0245,
|
||||
.name = "DAQCard-6036E", /* specs incorrect! */
|
||||
.n_adchan = 16,
|
||||
.adbits = 16,
|
||||
.ai_fifo_depth = 1024,
|
||||
.alwaysdither = 1,
|
||||
.gainlkup = ai_gain_4,
|
||||
.ai_speed = 5000,
|
||||
.n_aochan = 2,
|
||||
.aobits = 16,
|
||||
.ao_fifo_depth = 0,
|
||||
.ao_range_table = &range_bipolar10,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 1000000,
|
||||
.num_p0_dio_channels = 8,
|
||||
.has_8255 = 0,
|
||||
.caldac = {ad8804_debug},
|
||||
},
|
||||
#if 0
|
||||
{device_id:0x0000, /* unknown */
|
||||
name: "DAQCard-6715",
|
||||
n_adchan:0,
|
||||
n_aochan:8,
|
||||
aobits: 12,
|
||||
ao_671x: 8192,
|
||||
num_p0_dio_channels:8,
|
||||
caldac: {mb88341, mb88341},
|
||||
},
|
||||
{.device_id = 0x0000, /* unknown */
|
||||
.name = "DAQCard-6715",
|
||||
.n_adchan = 0,
|
||||
.n_aochan = 8,
|
||||
.aobits = 12,
|
||||
.ao_671x = 8192,
|
||||
.num_p0_dio_channels = 8,
|
||||
.caldac = {mb88341, mb88341},
|
||||
},
|
||||
#endif
|
||||
/* N.B. Update ni_mio_cs_ids[] when entries added above. */
|
||||
};
|
||||
@ -230,10 +230,10 @@ static uint16_t mio_cs_win_in(struct comedi_device *dev, int addr)
|
||||
static int mio_cs_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int mio_cs_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_ni_mio_cs = {
|
||||
driver_name:"ni_mio_cs",
|
||||
module:THIS_MODULE,
|
||||
attach:mio_cs_attach,
|
||||
detach:mio_cs_detach,
|
||||
.driver_name = "ni_mio_cs",
|
||||
.module = THIS_MODULE,
|
||||
.attach = mio_cs_attach,
|
||||
.detach = mio_cs_detach,
|
||||
};
|
||||
|
||||
#include "ni_mio_common.c"
|
||||
|
@ -292,10 +292,10 @@ static int nidio_detach(struct comedi_device *dev);
|
||||
static int ni_pcidio_cancel(struct comedi_device *dev, struct comedi_subdevice *s);
|
||||
|
||||
static struct comedi_driver driver_pcidio = {
|
||||
driver_name:"ni_pcidio",
|
||||
module:THIS_MODULE,
|
||||
attach:nidio_attach,
|
||||
detach:nidio_detach,
|
||||
.driver_name = "ni_pcidio",
|
||||
.module = THIS_MODULE,
|
||||
.attach = nidio_attach,
|
||||
.detach = nidio_detach,
|
||||
};
|
||||
|
||||
struct nidio_board {
|
||||
@ -309,65 +309,65 @@ struct nidio_board {
|
||||
|
||||
static const struct nidio_board nidio_boards[] = {
|
||||
{
|
||||
dev_id: 0x1150,
|
||||
name: "pci-dio-32hs",
|
||||
n_8255: 0,
|
||||
is_diodaq:1,
|
||||
.dev_id = 0x1150,
|
||||
.name = "pci-dio-32hs",
|
||||
.n_8255 = 0,
|
||||
.is_diodaq = 1,
|
||||
},
|
||||
{
|
||||
dev_id: 0x1320,
|
||||
name: "pxi-6533",
|
||||
n_8255: 0,
|
||||
is_diodaq:1,
|
||||
.dev_id = 0x1320,
|
||||
.name = "pxi-6533",
|
||||
.n_8255 = 0,
|
||||
.is_diodaq = 1,
|
||||
},
|
||||
{
|
||||
dev_id: 0x12b0,
|
||||
name: "pci-6534",
|
||||
n_8255: 0,
|
||||
is_diodaq:1,
|
||||
uses_firmware:1,
|
||||
.dev_id = 0x12b0,
|
||||
.name = "pci-6534",
|
||||
.n_8255 = 0,
|
||||
.is_diodaq = 1,
|
||||
.uses_firmware = 1,
|
||||
},
|
||||
{
|
||||
dev_id: 0x0160,
|
||||
name: "pci-dio-96",
|
||||
n_8255: 4,
|
||||
is_diodaq:0,
|
||||
.dev_id = 0x0160,
|
||||
.name = "pci-dio-96",
|
||||
.n_8255 = 4,
|
||||
.is_diodaq = 0,
|
||||
},
|
||||
{
|
||||
dev_id: 0x1630,
|
||||
name: "pci-dio-96b",
|
||||
n_8255: 4,
|
||||
is_diodaq:0,
|
||||
.dev_id = 0x1630,
|
||||
.name = "pci-dio-96b",
|
||||
.n_8255 = 4,
|
||||
.is_diodaq = 0,
|
||||
},
|
||||
{
|
||||
dev_id: 0x13c0,
|
||||
name: "pxi-6508",
|
||||
n_8255: 4,
|
||||
is_diodaq:0,
|
||||
.dev_id = 0x13c0,
|
||||
.name = "pxi-6508",
|
||||
.n_8255 = 4,
|
||||
.is_diodaq = 0,
|
||||
},
|
||||
{
|
||||
dev_id: 0x0400,
|
||||
name: "pci-6503",
|
||||
n_8255: 1,
|
||||
is_diodaq:0,
|
||||
.dev_id = 0x0400,
|
||||
.name = "pci-6503",
|
||||
.n_8255 = 1,
|
||||
.is_diodaq = 0,
|
||||
},
|
||||
{
|
||||
dev_id: 0x1250,
|
||||
name: "pci-6503b",
|
||||
n_8255: 1,
|
||||
is_diodaq:0,
|
||||
.dev_id = 0x1250,
|
||||
.name = "pci-6503b",
|
||||
.n_8255 = 1,
|
||||
.is_diodaq = 0,
|
||||
},
|
||||
{
|
||||
dev_id: 0x17d0,
|
||||
name: "pci-6503x",
|
||||
n_8255: 1,
|
||||
is_diodaq:0,
|
||||
.dev_id = 0x17d0,
|
||||
.name = "pci-6503x",
|
||||
.n_8255 = 1,
|
||||
.is_diodaq = 0,
|
||||
},
|
||||
{
|
||||
dev_id: 0x1800,
|
||||
name: "pxi-6503",
|
||||
n_8255: 1,
|
||||
is_diodaq:0,
|
||||
.dev_id = 0x1800,
|
||||
.name = "pxi-6503",
|
||||
.n_8255 = 1,
|
||||
.is_diodaq = 0,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -320,7 +320,7 @@ static const struct ni_board_struct ni_boards[] = {
|
||||
.ai_fifo_depth = 512,
|
||||
.alwaysdither = 0,
|
||||
.gainlkup = ai_gain_16,
|
||||
/* Note: there have been reported problems with full speed
|
||||
/* .Note = there have been reported problems with full speed
|
||||
* on this board */
|
||||
.ai_speed = 2000,
|
||||
.n_aochan = 2,
|
||||
@ -846,7 +846,7 @@ static const struct ni_board_struct ni_boards[] = {
|
||||
.n_adchan = 16,
|
||||
.adbits = 16,
|
||||
.ai_fifo_depth = 512,
|
||||
/* FIXME: guess */
|
||||
/* .FIXME = guess */
|
||||
.gainlkup = ai_gain_622x,
|
||||
.ai_speed = 4000,
|
||||
.n_aochan = 0,
|
||||
@ -1210,10 +1210,10 @@ static const struct ni_board_struct ni_boards[] = {
|
||||
static int pcimio_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pcimio_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_pcimio = {
|
||||
driver_name: DRV_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:pcimio_attach,
|
||||
detach:pcimio_detach,
|
||||
.driver_name = DRV_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcimio_attach,
|
||||
.detach = pcimio_detach,
|
||||
};
|
||||
|
||||
COMEDI_PCI_INITCLEANUP(driver_pcimio, ni_pci_table)
|
||||
|
@ -159,13 +159,13 @@ static const struct pcl711_board boardtypes[] = {
|
||||
static int pcl711_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pcl711_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_pcl711 = {
|
||||
driver_name:"pcl711",
|
||||
module:THIS_MODULE,
|
||||
attach:pcl711_attach,
|
||||
detach:pcl711_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:n_boardtypes,
|
||||
offset:sizeof(struct pcl711_board),
|
||||
.driver_name = "pcl711",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcl711_attach,
|
||||
.detach = pcl711_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct pcl711_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl711);
|
||||
|
@ -84,13 +84,13 @@ static const struct pcl724_board boardtypes[] = {
|
||||
#define this_board ((const struct pcl724_board *)dev->board_ptr)
|
||||
|
||||
static struct comedi_driver driver_pcl724 = {
|
||||
driver_name:"pcl724",
|
||||
module:THIS_MODULE,
|
||||
attach:pcl724_attach,
|
||||
detach:pcl724_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:n_boardtypes,
|
||||
offset:sizeof(struct pcl724_board),
|
||||
.driver_name = "pcl724",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcl724_attach,
|
||||
.detach = pcl724_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct pcl724_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl724);
|
||||
|
@ -23,10 +23,10 @@ Devices: [Advantech] PCL-725 (pcl725)
|
||||
static int pcl725_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pcl725_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_pcl725 = {
|
||||
driver_name:"pcl725",
|
||||
module:THIS_MODULE,
|
||||
attach:pcl725_attach,
|
||||
detach:pcl725_detach,
|
||||
.driver_name = "pcl725",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcl725_attach,
|
||||
.detach = pcl725_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl725);
|
||||
|
@ -152,13 +152,13 @@ static const struct pcl726_board boardtypes[] = {
|
||||
#define this_board ((const struct pcl726_board *)dev->board_ptr)
|
||||
|
||||
static struct comedi_driver driver_pcl726 = {
|
||||
driver_name:"pcl726",
|
||||
module:THIS_MODULE,
|
||||
attach:pcl726_attach,
|
||||
detach:pcl726_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:n_boardtypes,
|
||||
offset:sizeof(struct pcl726_board),
|
||||
.driver_name = "pcl726",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcl726_attach,
|
||||
.detach = pcl726_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct pcl726_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl726);
|
||||
|
@ -46,13 +46,13 @@ static const struct pcl730_board boardtypes[] = {
|
||||
#define this_board ((const struct pcl730_board *)dev->board_ptr)
|
||||
|
||||
static struct comedi_driver driver_pcl730 = {
|
||||
driver_name:"pcl730",
|
||||
module:THIS_MODULE,
|
||||
attach:pcl730_attach,
|
||||
detach:pcl730_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:n_boardtypes,
|
||||
offset:sizeof(struct pcl730_board),
|
||||
.driver_name = "pcl730",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcl730_attach,
|
||||
.detach = pcl730_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct pcl730_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl730);
|
||||
|
@ -377,13 +377,13 @@ static const struct pcl812_board boardtypes[] = {
|
||||
#define this_board ((const struct pcl812_board *)dev->board_ptr)
|
||||
|
||||
static struct comedi_driver driver_pcl812 = {
|
||||
driver_name:"pcl812",
|
||||
module:THIS_MODULE,
|
||||
attach:pcl812_attach,
|
||||
detach:pcl812_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:n_boardtypes,
|
||||
offset:sizeof(struct pcl812_board),
|
||||
.driver_name = "pcl812",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcl812_attach,
|
||||
.detach = pcl812_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct pcl812_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl812);
|
||||
|
@ -157,13 +157,13 @@ static int RTC_timer_lock = 0; /* RTC int lock */
|
||||
#endif
|
||||
|
||||
static struct comedi_driver driver_pcl816 = {
|
||||
driver_name:"pcl816",
|
||||
module:THIS_MODULE,
|
||||
attach:pcl816_attach,
|
||||
detach:pcl816_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:n_boardtypes,
|
||||
offset:sizeof(struct pcl816_board),
|
||||
.driver_name = "pcl816",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcl816_attach,
|
||||
.detach = pcl816_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct pcl816_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl816);
|
||||
|
@ -302,13 +302,13 @@ static const struct pcl818_board boardtypes[] = {
|
||||
#define n_boardtypes (sizeof(boardtypes)/sizeof(struct pcl818_board))
|
||||
|
||||
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:n_boardtypes,
|
||||
offset:sizeof(struct pcl818_board),
|
||||
.driver_name = "pcl818",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcl818_attach,
|
||||
.detach = pcl818_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct pcl818_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcl818);
|
||||
|
@ -87,13 +87,13 @@ static const struct pcm3724_board boardtypes[] = {
|
||||
#define this_board ((const struct pcm3724_board *)dev->board_ptr)
|
||||
|
||||
static struct comedi_driver driver_pcm3724 = {
|
||||
driver_name:"pcm3724",
|
||||
module:THIS_MODULE,
|
||||
attach:pcm3724_attach,
|
||||
detach:pcm3724_detach,
|
||||
board_name:&boardtypes[0].name,
|
||||
num_names:n_boardtypes,
|
||||
offset:sizeof(struct pcm3724_board),
|
||||
.driver_name = "pcm3724",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcm3724_attach,
|
||||
.detach = pcm3724_detach,
|
||||
.board_name = &boardtypes[0].name,
|
||||
.num_names = n_boardtypes,
|
||||
.offset = sizeof(struct pcm3724_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcm3724);
|
||||
|
@ -31,10 +31,10 @@ Configuration options:
|
||||
static int pcm3730_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pcm3730_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_pcm3730 = {
|
||||
driver_name:"pcm3730",
|
||||
module:THIS_MODULE,
|
||||
attach:pcm3730_attach,
|
||||
detach:pcm3730_detach,
|
||||
.driver_name = "pcm3730",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcm3730_attach,
|
||||
.detach = pcm3730_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcm3730);
|
||||
|
@ -58,12 +58,12 @@ struct pcmad_board_struct {
|
||||
};
|
||||
static const struct pcmad_board_struct pcmad_boards[] = {
|
||||
{
|
||||
name: "pcmad12",
|
||||
n_ai_bits:12,
|
||||
.name = "pcmad12",
|
||||
.n_ai_bits = 12,
|
||||
},
|
||||
{
|
||||
name: "pcmad16",
|
||||
n_ai_bits:16,
|
||||
.name = "pcmad16",
|
||||
.n_ai_bits = 16,
|
||||
},
|
||||
};
|
||||
|
||||
@ -79,13 +79,13 @@ struct pcmad_priv_struct {
|
||||
static int pcmad_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int pcmad_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_pcmad = {
|
||||
driver_name:"pcmad",
|
||||
module:THIS_MODULE,
|
||||
attach:pcmad_attach,
|
||||
detach:pcmad_detach,
|
||||
board_name:&pcmad_boards[0].name,
|
||||
num_names:n_pcmad_boards,
|
||||
offset:sizeof(pcmad_boards[0]),
|
||||
.driver_name = "pcmad",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcmad_attach,
|
||||
.detach = pcmad_detach,
|
||||
.board_name = &pcmad_boards[0].name,
|
||||
.num_names = n_pcmad_boards,
|
||||
.offset = sizeof(pcmad_boards[0]),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_pcmad);
|
||||
|
@ -83,7 +83,7 @@ static const struct comedi_lrange pcmda12_ranges = {
|
||||
|
||||
static const struct pcmda12_board pcmda12_boards[] = {
|
||||
{
|
||||
name: "pcmda12",
|
||||
.name = "pcmda12",
|
||||
},
|
||||
};
|
||||
|
||||
@ -113,10 +113,10 @@ static int pcmda12_detach(struct comedi_device *dev);
|
||||
static void zero_chans(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver = {
|
||||
driver_name:"pcmda12",
|
||||
module:THIS_MODULE,
|
||||
attach:pcmda12_attach,
|
||||
detach:pcmda12_detach,
|
||||
.driver_name = "pcmda12",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcmda12_attach,
|
||||
.detach = pcmda12_detach,
|
||||
/* It is not necessary to implement the following members if you are
|
||||
* writing a driver for a ISA PnP or PCI card */
|
||||
/* Most drivers will support multiple types of boards by
|
||||
@ -135,9 +135,9 @@ static struct comedi_driver driver = {
|
||||
* the type of board in software. ISA PnP, PCI, and PCMCIA
|
||||
* devices are such boards.
|
||||
*/
|
||||
board_name:&pcmda12_boards[0].name,
|
||||
offset:sizeof(struct pcmda12_board),
|
||||
num_names:sizeof(pcmda12_boards) / sizeof(struct pcmda12_board),
|
||||
.board_name = &pcmda12_boards[0].name,
|
||||
.offset = sizeof(struct pcmda12_board),
|
||||
.num_names = sizeof(pcmda12_boards) / sizeof(struct pcmda12_board),
|
||||
};
|
||||
|
||||
static int ao_winsn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
|
@ -179,19 +179,19 @@ static const struct comedi_lrange ranges_ao =
|
||||
|
||||
static const struct pcmmio_board pcmmio_boards[] = {
|
||||
{
|
||||
name: "pcmmio",
|
||||
dio_num_asics:1,
|
||||
dio_num_ports:6,
|
||||
total_iosize:32,
|
||||
ai_bits: 16,
|
||||
ao_bits: 16,
|
||||
n_ai_chans:16,
|
||||
n_ao_chans:8,
|
||||
ai_range_table:&ranges_ai,
|
||||
ao_range_table:&ranges_ao,
|
||||
ai_rinsn:ai_rinsn,
|
||||
ao_rinsn:ao_rinsn,
|
||||
ao_winsn:ao_winsn},
|
||||
.name = "pcmmio",
|
||||
.dio_num_asics = 1,
|
||||
.dio_num_ports = 6,
|
||||
.total_iosize = 32,
|
||||
.ai_bits = 16,
|
||||
.ao_bits = 16,
|
||||
.n_ai_chans = 16,
|
||||
.n_ao_chans = 8,
|
||||
.ai_range_table = &ranges_ai,
|
||||
.ao_range_table = &ranges_ao,
|
||||
.ai_rinsn = ai_rinsn,
|
||||
.ao_rinsn = ao_rinsn,
|
||||
.ao_winsn = ao_winsn},
|
||||
};
|
||||
|
||||
/*
|
||||
@ -268,10 +268,10 @@ static int pcmmio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
static int pcmmio_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver = {
|
||||
driver_name:"pcmmio",
|
||||
module:THIS_MODULE,
|
||||
attach:pcmmio_attach,
|
||||
detach:pcmmio_detach,
|
||||
.driver_name = "pcmmio",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcmmio_attach,
|
||||
.detach = pcmmio_detach,
|
||||
/* It is not necessary to implement the following members if you are
|
||||
* writing a driver for a ISA PnP or PCI card */
|
||||
/* Most drivers will support multiple types of boards by
|
||||
@ -290,9 +290,9 @@ static struct comedi_driver driver = {
|
||||
* the type of board in software. ISA PnP, PCI, and PCMCIA
|
||||
* devices are such boards.
|
||||
*/
|
||||
board_name:&pcmmio_boards[0].name,
|
||||
offset:sizeof(struct pcmmio_board),
|
||||
num_names:sizeof(pcmmio_boards) / sizeof(struct pcmmio_board),
|
||||
.board_name = &pcmmio_boards[0].name,
|
||||
.offset = sizeof(struct pcmmio_board),
|
||||
.num_names = sizeof(pcmmio_boards) / sizeof(struct pcmmio_board),
|
||||
};
|
||||
|
||||
static int pcmmio_dio_insn_bits(struct comedi_device * dev, struct comedi_subdevice * s,
|
||||
|
@ -155,14 +155,14 @@ struct pcmuio_board {
|
||||
|
||||
static const struct pcmuio_board pcmuio_boards[] = {
|
||||
{
|
||||
name: "pcmuio48",
|
||||
num_asics:1,
|
||||
num_ports:6,
|
||||
.name = "pcmuio48",
|
||||
.num_asics = 1,
|
||||
.num_ports = 6,
|
||||
},
|
||||
{
|
||||
name: "pcmuio96",
|
||||
num_asics:2,
|
||||
num_ports:12,
|
||||
.name = "pcmuio96",
|
||||
.num_asics = 2,
|
||||
.num_ports = 12,
|
||||
},
|
||||
};
|
||||
|
||||
@ -226,10 +226,10 @@ static int pcmuio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
static int pcmuio_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver = {
|
||||
driver_name:"pcmuio",
|
||||
module:THIS_MODULE,
|
||||
attach:pcmuio_attach,
|
||||
detach:pcmuio_detach,
|
||||
.driver_name = "pcmuio",
|
||||
.module = THIS_MODULE,
|
||||
.attach = pcmuio_attach,
|
||||
.detach = pcmuio_detach,
|
||||
/* It is not necessary to implement the following members if you are
|
||||
* writing a driver for a ISA PnP or PCI card */
|
||||
/* Most drivers will support multiple types of boards by
|
||||
@ -248,9 +248,9 @@ static struct comedi_driver driver = {
|
||||
* the type of board in software. ISA PnP, PCI, and PCMCIA
|
||||
* devices are such boards.
|
||||
*/
|
||||
board_name:&pcmuio_boards[0].name,
|
||||
offset:sizeof(struct pcmuio_board),
|
||||
num_names:sizeof(pcmuio_boards) / sizeof(struct pcmuio_board),
|
||||
.board_name = &pcmuio_boards[0].name,
|
||||
.offset = sizeof(struct pcmuio_board),
|
||||
.num_names = sizeof(pcmuio_boards) / sizeof(struct pcmuio_board),
|
||||
};
|
||||
|
||||
static int pcmuio_dio_insn_bits(struct comedi_device * dev, struct comedi_subdevice * s,
|
||||
|
@ -70,33 +70,33 @@ struct boarddef_struct {
|
||||
};
|
||||
static const struct boarddef_struct boards[] = {
|
||||
{
|
||||
name: "dac02",
|
||||
iosize: 8,
|
||||
/* setup: dac02_setup, */
|
||||
type: COMEDI_SUBD_AO,
|
||||
n_chan: 2,
|
||||
n_bits: 12,
|
||||
winsn: dac02_ao_winsn,
|
||||
rinsn: readback_insn,
|
||||
range: &range_unknown,
|
||||
.name = "dac02",
|
||||
.iosize = 8,
|
||||
/* .setup = dac02_setup, */
|
||||
.type = COMEDI_SUBD_AO,
|
||||
.n_chan = 2,
|
||||
.n_bits = 12,
|
||||
.winsn = dac02_ao_winsn,
|
||||
.rinsn = readback_insn,
|
||||
.range = &range_unknown,
|
||||
},
|
||||
{
|
||||
name: "pcl733",
|
||||
iosize: 4,
|
||||
type: COMEDI_SUBD_DI,
|
||||
n_chan: 32,
|
||||
n_bits: 1,
|
||||
insnbits:pcl733_insn_bits,
|
||||
range: &range_digital,
|
||||
.name = "pcl733",
|
||||
.iosize = 4,
|
||||
.type = COMEDI_SUBD_DI,
|
||||
.n_chan = 32,
|
||||
.n_bits = 1,
|
||||
.insnbits = pcl733_insn_bits,
|
||||
.range = &range_digital,
|
||||
},
|
||||
{
|
||||
name: "pcl734",
|
||||
iosize: 4,
|
||||
type: COMEDI_SUBD_DO,
|
||||
n_chan: 32,
|
||||
n_bits: 1,
|
||||
insnbits:pcl734_insn_bits,
|
||||
range: &range_digital,
|
||||
.name = "pcl734",
|
||||
.iosize = 4,
|
||||
.type = COMEDI_SUBD_DO,
|
||||
.n_chan = 32,
|
||||
.n_bits = 1,
|
||||
.insnbits = pcl734_insn_bits,
|
||||
.range = &range_digital,
|
||||
},
|
||||
};
|
||||
|
||||
@ -104,13 +104,13 @@ static const struct boarddef_struct boards[] = {
|
||||
#define this_board ((const struct boarddef_struct *)dev->board_ptr)
|
||||
|
||||
static struct comedi_driver driver_poc = {
|
||||
driver_name:"poc",
|
||||
module:THIS_MODULE,
|
||||
attach:poc_attach,
|
||||
detach:poc_detach,
|
||||
board_name:&boards[0].name,
|
||||
num_names:n_boards,
|
||||
offset:sizeof(boards[0]),
|
||||
.driver_name = "poc",
|
||||
.module = THIS_MODULE,
|
||||
.attach = poc_attach,
|
||||
.detach = poc_detach,
|
||||
.board_name = &boards[0].name,
|
||||
.num_names = n_boards,
|
||||
.offset = sizeof(boards[0]),
|
||||
};
|
||||
|
||||
static int poc_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
|
@ -179,8 +179,8 @@ static struct local_info_t *dev_table[MAX_DEV] = { NULL, /* ... */ };
|
||||
#define DAQP_AUX_FIFO_EMPTY 0x01
|
||||
|
||||
/* These range structures tell COMEDI how the sample values map to
|
||||
* voltages. The A/D converter has four ranges: +/- 10V through
|
||||
* +/- 1.25V, and the D/A converter has only one: +/- 5V.
|
||||
* voltages. The A/D converter has four .ranges = +/- 10V through
|
||||
* +/- 1.25V, and the D/A converter has only .one = +/- 5V.
|
||||
*/
|
||||
|
||||
static const struct comedi_lrange range_daqp_ai = { 4, {
|
||||
@ -200,10 +200,10 @@ static const struct comedi_lrange range_daqp_ao = { 1, {BIP_RANGE(5)} };
|
||||
static int daqp_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int daqp_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_daqp = {
|
||||
driver_name:"quatech_daqp_cs",
|
||||
module:THIS_MODULE,
|
||||
attach:daqp_attach,
|
||||
detach:daqp_detach,
|
||||
.driver_name = "quatech_daqp_cs",
|
||||
.module = THIS_MODULE,
|
||||
.attach = daqp_attach,
|
||||
.detach = daqp_detach,
|
||||
};
|
||||
|
||||
#ifdef DAQP_DEBUG
|
||||
|
@ -134,13 +134,13 @@ static const struct rti800_board boardtypes[] = {
|
||||
static int rti800_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int rti800_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_rti800 = {
|
||||
driver_name:"rti800",
|
||||
module:THIS_MODULE,
|
||||
attach:rti800_attach,
|
||||
detach:rti800_detach,
|
||||
num_names:sizeof(boardtypes) / sizeof(struct rti800_board),
|
||||
board_name:&boardtypes[0].name,
|
||||
offset:sizeof(struct rti800_board),
|
||||
.driver_name = "rti800",
|
||||
.module = THIS_MODULE,
|
||||
.attach = rti800_attach,
|
||||
.detach = rti800_detach,
|
||||
.num_names = sizeof(boardtypes) / sizeof(struct rti800_board),
|
||||
.board_name = &boardtypes[0].name,
|
||||
.offset = sizeof(struct rti800_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_rti800);
|
||||
|
@ -50,10 +50,10 @@ Configuration Options:
|
||||
static int rti802_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int rti802_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_rti802 = {
|
||||
driver_name:"rti802",
|
||||
module:THIS_MODULE,
|
||||
attach:rti802_attach,
|
||||
detach:rti802_detach,
|
||||
.driver_name = "rti802",
|
||||
.module = THIS_MODULE,
|
||||
.attach = rti802_attach,
|
||||
.detach = rti802_detach,
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_rti802);
|
||||
|
@ -169,14 +169,14 @@ struct s526_board {
|
||||
|
||||
static const struct s526_board s526_boards[] = {
|
||||
{
|
||||
name: "s526",
|
||||
gpct_chans:4,
|
||||
gpct_bits:24,
|
||||
ad_chans:8,
|
||||
ad_bits: 16,
|
||||
da_chans:4,
|
||||
da_bits: 16,
|
||||
have_dio:1,
|
||||
.name = "s526",
|
||||
.gpct_chans = 4,
|
||||
.gpct_bits = 24,
|
||||
.ad_chans = 8,
|
||||
.ad_bits = 16,
|
||||
.da_chans = 4,
|
||||
.da_bits = 16,
|
||||
.have_dio = 1,
|
||||
}
|
||||
};
|
||||
|
||||
@ -220,10 +220,10 @@ struct s526_private {
|
||||
static int s526_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int s526_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_s526 = {
|
||||
driver_name:"s526",
|
||||
module:THIS_MODULE,
|
||||
attach:s526_attach,
|
||||
detach:s526_detach,
|
||||
.driver_name = "s526",
|
||||
.module = THIS_MODULE,
|
||||
.attach = s526_attach,
|
||||
.detach = s526_detach,
|
||||
/* It is not necessary to implement the following members if you are
|
||||
* writing a driver for a ISA PnP or PCI card */
|
||||
/* Most drivers will support multiple types of boards by
|
||||
@ -242,9 +242,9 @@ static struct comedi_driver driver_s526 = {
|
||||
* the type of board in software. ISA PnP, PCI, and PCMCIA
|
||||
* devices are such boards.
|
||||
*/
|
||||
board_name:&s526_boards[0].name,
|
||||
offset:sizeof(struct s526_board),
|
||||
num_names:sizeof(s526_boards) / sizeof(struct s526_board),
|
||||
.board_name = &s526_boards[0].name,
|
||||
.offset = sizeof(struct s526_board),
|
||||
.num_names = sizeof(s526_boards) / sizeof(struct s526_board),
|
||||
};
|
||||
|
||||
static int s526_gpct_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
|
@ -52,7 +52,7 @@ struct serial2002_board {
|
||||
|
||||
static const struct serial2002_board serial2002_boards[] = {
|
||||
{
|
||||
name: "serial2002"}
|
||||
.name = "serial2002"}
|
||||
};
|
||||
|
||||
/*
|
||||
@ -92,13 +92,13 @@ struct serial2002_private {
|
||||
static int serial2002_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int serial2002_detach(struct comedi_device *dev);
|
||||
struct comedi_driver driver_serial2002 = {
|
||||
driver_name:"serial2002",
|
||||
module:THIS_MODULE,
|
||||
attach:serial2002_attach,
|
||||
detach:serial2002_detach,
|
||||
board_name:&serial2002_boards[0].name,
|
||||
offset:sizeof(struct serial2002_board),
|
||||
num_names:sizeof(serial2002_boards) / sizeof(struct serial2002_board),
|
||||
.driver_name = "serial2002",
|
||||
.module = THIS_MODULE,
|
||||
.attach = serial2002_attach,
|
||||
.detach = serial2002_detach,
|
||||
.board_name = &serial2002_boards[0].name,
|
||||
.offset = sizeof(struct serial2002_board),
|
||||
.num_names = sizeof(serial2002_boards) / sizeof(struct serial2002_board),
|
||||
};
|
||||
|
||||
static int serial2002_di_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
|
@ -97,16 +97,16 @@ struct skel_board {
|
||||
|
||||
static const struct skel_board skel_boards[] = {
|
||||
{
|
||||
name: "skel-100",
|
||||
ai_chans:16,
|
||||
ai_bits: 12,
|
||||
have_dio:1,
|
||||
.name = "skel-100",
|
||||
.ai_chans = 16,
|
||||
.ai_bits = 12,
|
||||
.have_dio = 1,
|
||||
},
|
||||
{
|
||||
name: "skel-200",
|
||||
ai_chans:8,
|
||||
ai_bits: 16,
|
||||
have_dio:0,
|
||||
.name = "skel-200",
|
||||
.ai_chans = 8,
|
||||
.ai_bits = 16,
|
||||
.have_dio = 0,
|
||||
},
|
||||
};
|
||||
|
||||
@ -157,10 +157,10 @@ struct skel_private {
|
||||
static int skel_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int skel_detach(struct comedi_device *dev);
|
||||
static struct comedi_driver driver_skel = {
|
||||
driver_name:"dummy",
|
||||
module:THIS_MODULE,
|
||||
attach:skel_attach,
|
||||
detach:skel_detach,
|
||||
.driver_name = "dummy",
|
||||
.module = THIS_MODULE,
|
||||
.attach = skel_attach,
|
||||
.detach = skel_detach,
|
||||
/* It is not necessary to implement the following members if you are
|
||||
* writing a driver for a ISA PnP or PCI card */
|
||||
/* Most drivers will support multiple types of boards by
|
||||
@ -179,9 +179,9 @@ static struct comedi_driver driver_skel = {
|
||||
* the type of board in software. ISA PnP, PCI, and PCMCIA
|
||||
* devices are such boards.
|
||||
*/
|
||||
board_name:&skel_boards[0].name,
|
||||
offset:sizeof(struct skel_board),
|
||||
num_names:sizeof(skel_boards) / sizeof(struct skel_board),
|
||||
.board_name = &skel_boards[0].name,
|
||||
.offset = sizeof(struct skel_board),
|
||||
.num_names = sizeof(skel_boards) / sizeof(struct skel_board),
|
||||
};
|
||||
|
||||
static int skel_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
|
@ -61,10 +61,10 @@ struct dnp_board {
|
||||
|
||||
static const struct dnp_board dnp_boards[] = { /* we only support one DNP 'board' */
|
||||
{ /* variant at the moment */
|
||||
name: "dnp-1486",
|
||||
ai_chans:16,
|
||||
ai_bits: 12,
|
||||
have_dio:1,
|
||||
.name = "dnp-1486",
|
||||
.ai_chans = 16,
|
||||
.ai_bits = 12,
|
||||
.have_dio = 1,
|
||||
},
|
||||
};
|
||||
|
||||
@ -92,14 +92,14 @@ static int dnp_attach(struct comedi_device *dev, struct comedi_devconfig *it);
|
||||
static int dnp_detach(struct comedi_device *dev);
|
||||
|
||||
static struct comedi_driver driver_dnp = {
|
||||
driver_name:"ssv_dnp",
|
||||
module:THIS_MODULE,
|
||||
attach:dnp_attach,
|
||||
detach:dnp_detach,
|
||||
board_name:&dnp_boards[0].name,
|
||||
.driver_name = "ssv_dnp",
|
||||
.module = THIS_MODULE,
|
||||
.attach = dnp_attach,
|
||||
.detach = dnp_detach,
|
||||
.board_name = &dnp_boards[0].name,
|
||||
/* only necessary for non-PnP devs */
|
||||
offset:sizeof(struct dnp_board),/* like ISA-PnP, PCI or PCMCIA. */
|
||||
num_names:sizeof(dnp_boards) / sizeof(struct dnp_board),
|
||||
.offset = sizeof(struct dnp_board),/* like ISA-PnP, PCI or PCMCIA. */
|
||||
.num_names = sizeof(dnp_boards) / sizeof(struct dnp_board),
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(driver_dnp);
|
||||
|
@ -103,10 +103,10 @@ static int __unioxx5_define_chan_offset(int chan_num);
|
||||
static void __unioxx5_analog_config(struct unioxx5_subd_priv *usp, int channel);
|
||||
|
||||
static struct comedi_driver unioxx5_driver = {
|
||||
driver_name:DRIVER_NAME,
|
||||
module:THIS_MODULE,
|
||||
attach:unioxx5_attach,
|
||||
detach:unioxx5_detach
|
||||
.driver_name = DRIVER_NAME,
|
||||
.module = THIS_MODULE,
|
||||
.attach = unioxx5_attach,
|
||||
.detach = unioxx5_detach
|
||||
};
|
||||
|
||||
COMEDI_INITCLEANUP(unioxx5_driver);
|
||||
|
Loading…
Reference in New Issue
Block a user