staging: comedi: me4000: all board types have analog inputs
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 5 Aug 2015 17:44:39 +0000 (10:44 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Aug 2015 22:03:27 +0000 (15:03 -0700)
All the boards supported by this driver have analog inputs. They just
differ in the number of channels (32 or 16).

Always initialize the analog input subdevice in me4000_auto_attach().

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 2b37c5354a334bfeae385fa1c237503c223f509d..3d45217e9e18557ad4546c79ae52130bd5519b9d 100644 (file)
@@ -1281,31 +1281,22 @@ static int me4000_auto_attach(struct comedi_device *dev,
        if (result)
                return result;
 
-    /*=========================================================================
-      Analog input subdevice
-      ========================================================================*/
-
+       /* Analog Input subdevice */
        s = &dev->subdevices[0];
-
-       if (board->ai_nchan) {
-               s->type = COMEDI_SUBD_AI;
-               s->subdev_flags =
-                   SDF_READABLE | SDF_COMMON | SDF_GROUND | SDF_DIFF;
-               s->n_chan = board->ai_nchan;
-               s->maxdata = 0xFFFF;    /*  16 bit ADC */
-               s->len_chanlist = ME4000_AI_CHANNEL_LIST_COUNT;
-               s->range_table = &me4000_ai_range;
-               s->insn_read = me4000_ai_insn_read;
-
-               if (dev->irq) {
-                       dev->read_subdev = s;
-                       s->subdev_flags |= SDF_CMD_READ;
-                       s->cancel = me4000_ai_cancel;
-                       s->do_cmdtest = me4000_ai_do_cmd_test;
-                       s->do_cmd = me4000_ai_do_cmd;
-               }
-       } else {
-               s->type = COMEDI_SUBD_UNUSED;
+       s->type         = COMEDI_SUBD_AI;
+       s->subdev_flags = SDF_READABLE | SDF_COMMON | SDF_GROUND | SDF_DIFF;
+       s->n_chan       = board->ai_nchan;
+       s->maxdata      = 0xffff;
+       s->len_chanlist = ME4000_AI_CHANNEL_LIST_COUNT;
+       s->range_table  = &me4000_ai_range;
+       s->insn_read    = me4000_ai_insn_read;
+
+       if (dev->irq) {
+               dev->read_subdev = s;
+               s->subdev_flags |= SDF_CMD_READ;
+               s->cancel       = me4000_ai_cancel;
+               s->do_cmdtest   = me4000_ai_do_cmd_test;
+               s->do_cmd       = me4000_ai_do_cmd;
        }
 
     /*=========================================================================