OSDN Git Service

staging: comedi: me4000: only set SDF_DIFF when supported
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 5 Aug 2015 17:44:40 +0000 (10:44 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Aug 2015 22:03:27 +0000 (15:03 -0700)
Some of the boards supported by this driver do not have differential analog
inputs. Only set the SDF_DIFF subdev_flag when the board supports it.

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/me4000.c

index 3d45217..171749b 100644 (file)
@@ -1284,7 +1284,9 @@ static int me4000_auto_attach(struct comedi_device *dev,
        /* Analog Input subdevice */
        s = &dev->subdevices[0];
        s->type         = COMEDI_SUBD_AI;
-       s->subdev_flags = SDF_READABLE | SDF_COMMON | SDF_GROUND | SDF_DIFF;
+       s->subdev_flags = SDF_READABLE | SDF_COMMON | SDF_GROUND;
+       if (board->ai_diff_nchan)
+               s->subdev_flags |= SDF_DIFF;
        s->n_chan       = board->ai_nchan;
        s->maxdata      = 0xffff;
        s->len_chanlist = ME4000_AI_CHANNEL_LIST_COUNT;