From 2281befd94082e788353fc8b094b4297d72181ba Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Tue, 26 Mar 2013 15:45:04 -0700 Subject: [PATCH] staging: comedi: s626: async commands require an interrupt Only hook up the analog input command support if the interrupt is available. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- 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 528a40b072ae..4cb2b2d66fb5 100644 --- a/drivers/staging/comedi/drivers/s626.c +++ b/drivers/staging/comedi/drivers/s626.c @@ -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 */ -- 2.34.1