]> Pileus Git - ~andy/linux/commitdiff
staging: comedi: s626: async commands require an interrupt
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Tue, 26 Mar 2013 22:45:04 +0000 (15:45 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Mar 2013 23:12:56 +0000 (16:12 -0700)
Only hook up the analog input command support if the interrupt is
available.

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

index 528a40b072ae1278300e5966a5e8c9fbf367332e..4cb2b2d66fb5873c4b1667f05834c55ce2216b87 100644 (file)
@@ -2641,7 +2641,6 @@ static int s626_auto_attach(struct comedi_device *dev,
 
        s = &dev->subdevices[0];
        /* analog input subdevice */
-       dev->read_subdev = s;
        s->type         = COMEDI_SUBD_AI;
        s->subdev_flags = SDF_READABLE | SDF_DIFF | SDF_CMD_READ;
        s->n_chan       = S626_ADC_CHANNELS;
@@ -2649,9 +2648,12 @@ static int s626_auto_attach(struct comedi_device *dev,
        s->range_table  = &s626_range_table;
        s->len_chanlist = S626_ADC_CHANNELS;
        s->insn_read    = s626_ai_insn_read;
-       s->do_cmd       = s626_ai_cmd;
-       s->do_cmdtest   = s626_ai_cmdtest;
-       s->cancel       = s626_ai_cancel;
+       if (dev->irq) {
+               dev->read_subdev = s;
+               s->do_cmd       = s626_ai_cmd;
+               s->do_cmdtest   = s626_ai_cmdtest;
+               s->cancel       = s626_ai_cancel;
+       }
 
        s = &dev->subdevices[1];
        /* analog output subdevice */