mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-13 16:29:25 -04:00
staging: comedi: adv_pci1710: remove 'has_large_fifo' and 'has_diff_ai' boardinfo
The pci1711/31 boards are the only ones that have a smaller FIFO (1K vs 4K) and single-ended analog inputs (no differential). Replace the 'has_large_fifo' and 'has_diff_ai' members of the boardinfo with 'is_pci1711' and use that to determine how to initialize the analog input subdev_flags as well as the private data 'max_samples'. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
88601533ae
commit
dbdb624822
@@ -128,9 +128,8 @@ enum pci1710_boardid {
|
||||
struct boardtype {
|
||||
const char *name; /* board name */
|
||||
const struct comedi_lrange *rangelist_ai; /* rangelist for A/D */
|
||||
unsigned int is_pci1711:1;
|
||||
unsigned int is_pci1713:1;
|
||||
unsigned int has_large_fifo:1; /* 4K or 1K FIFO */
|
||||
unsigned int has_diff_ai:1;
|
||||
unsigned int has_ao:1;
|
||||
};
|
||||
|
||||
@@ -138,32 +137,28 @@ static const struct boardtype boardtypes[] = {
|
||||
[BOARD_PCI1710] = {
|
||||
.name = "pci1710",
|
||||
.rangelist_ai = &pci1710_ai_range,
|
||||
.has_large_fifo = 1,
|
||||
.has_diff_ai = 1,
|
||||
.has_ao = 1,
|
||||
},
|
||||
[BOARD_PCI1710HG] = {
|
||||
.name = "pci1710hg",
|
||||
.rangelist_ai = &pci1710hg_ai_range,
|
||||
.has_large_fifo = 1,
|
||||
.has_diff_ai = 1,
|
||||
.has_ao = 1,
|
||||
},
|
||||
[BOARD_PCI1711] = {
|
||||
.name = "pci1711",
|
||||
.rangelist_ai = &pci1711_ai_range,
|
||||
.is_pci1711 = 1,
|
||||
.has_ao = 1,
|
||||
},
|
||||
[BOARD_PCI1713] = {
|
||||
.name = "pci1713",
|
||||
.rangelist_ai = &pci1710_ai_range,
|
||||
.is_pci1713 = 1,
|
||||
.has_large_fifo = 1,
|
||||
.has_diff_ai = 1,
|
||||
},
|
||||
[BOARD_PCI1731] = {
|
||||
.name = "pci1731",
|
||||
.rangelist_ai = &pci1711_ai_range,
|
||||
.is_pci1711 = 1,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -796,7 +791,7 @@ static int pci1710_auto_attach(struct comedi_device *dev,
|
||||
s = &dev->subdevices[subdev];
|
||||
s->type = COMEDI_SUBD_AI;
|
||||
s->subdev_flags = SDF_READABLE | SDF_COMMON | SDF_GROUND;
|
||||
if (board->has_diff_ai)
|
||||
if (!board->is_pci1711)
|
||||
s->subdev_flags |= SDF_DIFF;
|
||||
s->n_chan = board->is_pci1713 ? 32 : 16;
|
||||
s->maxdata = 0x0fff;
|
||||
@@ -872,7 +867,7 @@ static int pci1710_auto_attach(struct comedi_device *dev,
|
||||
}
|
||||
|
||||
/* max_samples is half the FIFO size (2 bytes/sample) */
|
||||
devpriv->max_samples = (board->has_large_fifo) ? 2048 : 512;
|
||||
devpriv->max_samples = (board->is_pci1711) ? 512 : 2048;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user