Only hook up the analog input command support if the interrupt is
available.

Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Ian Abbott <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
---
 drivers/staging/comedi/drivers/s626.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/s626.c 
b/drivers/staging/comedi/drivers/s626.c
index 716ec76..c186422 100644
--- a/drivers/staging/comedi/drivers/s626.c
+++ b/drivers/staging/comedi/drivers/s626.c
@@ -2640,7 +2640,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;
@@ -2648,9 +2647,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 */
-- 
1.8.1.4

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to