staging: comedi: adv_pci1710: remove 'has_large_fifo' and 'has_diff_ai' boardinfo
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Fri, 13 Nov 2015 18:11:11 +0000 (11:11 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Dec 2015 22:56:30 +0000 (14:56 -0800)
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>
drivers/staging/comedi/drivers/adv_pci1710.c

index 76f3793..7088b76 100644 (file)
@@ -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;
 }