]> git.itanic.dy.fi Git - linux-stable/commitdiff
staging: comedi: ni_mio_common: fix subdevice flags for PFI subdevice
authorIan Abbott <abbotti@mev.co.uk>
Mon, 6 Aug 2018 10:05:13 +0000 (11:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Sep 2018 07:40:39 +0000 (09:40 +0200)
[ Upstream commit e083926b3e269d4064825dcf2ad50c636fddf8cf ]

The PFI subdevice flags indicate that the subdevice is readable and
writeable, but that is only true for the supported "M-series" boards,
not the older "E-series" boards.  Only set the SDF_READABLE and
SDF_WRITABLE subdevice flags for the M-series boards.  These two flags
are mainly for informational purposes.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/ni_mio_common.c

index 8f181caffca3213c930a7a992f401fa73a01f6ac..619c989c5f3704ae0e0ee3f771432110769df003 100644 (file)
@@ -5275,11 +5275,11 @@ static int ni_E_init(struct comedi_device *dev,
        /* Digital I/O (PFI) subdevice */
        s = &dev->subdevices[NI_PFI_DIO_SUBDEV];
        s->type         = COMEDI_SUBD_DIO;
-       s->subdev_flags = SDF_READABLE | SDF_WRITABLE | SDF_INTERNAL;
        s->maxdata      = 1;
        if (devpriv->is_m_series) {
                s->n_chan       = 16;
                s->insn_bits    = ni_pfi_insn_bits;
+               s->subdev_flags = SDF_READABLE | SDF_WRITABLE | SDF_INTERNAL;
 
                ni_writew(dev, s->state, NI_M_PFI_DO_REG);
                for (i = 0; i < NUM_PFI_OUTPUT_SELECT_REGS; ++i) {
@@ -5288,6 +5288,7 @@ static int ni_E_init(struct comedi_device *dev,
                }
        } else {
                s->n_chan       = 10;
+               s->subdev_flags = SDF_INTERNAL;
        }
        s->insn_config  = ni_pfi_insn_config;