]> git.karo-electronics.de Git - linux-beck.git/commitdiff
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 358bfd3f341730962209c6fbe15535c4c2267648..cc561788e74002a0fd5f317ed7e9db2891efdef1 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];