staging: comedi: addi_apci_3120: tidy up analog input subdevice init
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Mon, 20 Oct 2014 18:34:25 +0000 (11:34 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2014 07:58:37 +0000 (15:58 +0800)
For aesthetics, add some white space to the analog input subdevice
initialization.

The async command support in this driver is pretty messed up. I'm not
really sure if it actually works yet. Luckly this driver was not
setting the SDF_CMD_READ subdev_flag so the command support was not
actually getting enabled.

The command support only works if an interrupt is available. Refactor
the subdevice init so that the command support is only hooked up if
we have an interrupt. For now always disable the command support. Once
the driver has been cleaned up the command will be enabled.

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

index 358bfd3..cc56178 100644 (file)
@@ -168,23 +168,23 @@ static int apci3120_auto_attach(struct comedi_device *dev,
        if (ret)
                return ret;
 
-       /*  Allocate and Initialise AI Subdevice Structures */
+       /* Analog Input subdevice */
        s = &dev->subdevices[0];
-       dev->read_subdev = s;
-       s->type = COMEDI_SUBD_AI;
-       s->subdev_flags =
-               SDF_READABLE | SDF_COMMON | SDF_GROUND
-               | SDF_DIFF;
-       s->n_chan = 16;
-       s->maxdata = this_board->ai_is_16bit ? 0xffff : 0x0fff;
-       s->len_chanlist = s->n_chan;
-       s->range_table = &range_apci3120_ai;
-
-       s->insn_config = apci3120_ai_insn_config;
-       s->insn_read = apci3120_ai_insn_read;
-       s->do_cmdtest = apci3120_ai_cmdtest;
-       s->do_cmd = apci3120_ai_cmd;
-       s->cancel = apci3120_cancel;
+       s->type         = COMEDI_SUBD_AI;
+       s->subdev_flags = SDF_READABLE | SDF_COMMON | SDF_GROUND | SDF_DIFF;
+       s->n_chan       = 16;
+       s->maxdata      = this_board->ai_is_16bit ? 0xffff : 0x0fff;
+       s->range_table  = &range_apci3120_ai;
+       s->insn_config  = apci3120_ai_insn_config;
+       s->insn_read    = apci3120_ai_insn_read;
+       if (0 /* dev->irq */) {
+               dev->read_subdev = s;
+               s->subdev_flags |= SDF_CMD_READ;
+               s->len_chanlist = s->n_chan;
+               s->do_cmdtest   = apci3120_ai_cmdtest;
+               s->do_cmd       = apci3120_ai_cmd;
+               s->cancel       = apci3120_cancel;
+       }
 
        /* Analog Output subdevice */
        s = &dev->subdevices[1];