All the comedi drivers that now use comedi_timeout() return a standard errno when a timeout occurs. Remove all the private debug messages and have the core output the dev_dbg() message. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/comedi/comedi_fops.c | 11 ++++++++++- drivers/staging/comedi/drivers/adl_pci9111.c | 1 - drivers/staging/comedi/drivers/adl_pci9118.c | 1 - drivers/staging/comedi/drivers/adv_pci1710.c | 1 - drivers/staging/comedi/drivers/aio_aio12_8.c | 4 +--- drivers/staging/comedi/drivers/amplc_pci230.c | 4 +--- drivers/staging/comedi/drivers/cb_das16_cs.c | 4 +--- drivers/staging/comedi/drivers/cb_pcidas64.c | 4 +--- drivers/staging/comedi/drivers/das08.c | 4 +--- drivers/staging/comedi/drivers/das16m1.c | 4 +--- drivers/staging/comedi/drivers/das1800.c | 4 +--- drivers/staging/comedi/drivers/dt2815.c | 12 ++---------- drivers/staging/comedi/drivers/dt282x.c | 12 +++--------- drivers/staging/comedi/drivers/dyna_pci10xx.c | 2 -- drivers/staging/comedi/drivers/icp_multi.c | 3 --- drivers/staging/comedi/drivers/me_daq.c | 4 +--- drivers/staging/comedi/drivers/ni_at_a2150.c | 8 ++------ drivers/staging/comedi/drivers/ni_daq_700.c | 16 +--------------- drivers/staging/comedi/drivers/pcl812.c | 8 ++------ drivers/staging/comedi/drivers/pcl816.c | 1 - drivers/staging/comedi/drivers/pcl818.c | 1 - drivers/staging/comedi/drivers/skel.c | 4 +--- 22 files changed, 29 insertions(+), 84 deletions(-) diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c index c22c617..302191a 100644 --- a/drivers/staging/comedi/comedi_fops.c +++ b/drivers/staging/comedi/comedi_fops.c @@ -1194,6 +1194,10 @@ static int parse_insn(struct comedi_device *dev, struct comedi_insn *insn, switch (insn->insn) { case INSN_READ: ret = s->insn_read(dev, s, insn, data); + if (ret == -ETIMEDOUT) { + dev_dbg(dev->class_dev, + "read instruction timed out\n"); + } break; case INSN_WRITE: maxdata = s->maxdata_list @@ -1207,8 +1211,13 @@ static int parse_insn(struct comedi_device *dev, struct comedi_insn *insn, break; } } - if (ret == 0) + if (ret == 0) { ret = s->insn_write(dev, s, insn, data); + if (ret == -ETIMEDOUT) { + dev_dbg(dev->class_dev, + "write instruction timed out\n"); + } + } break; case INSN_BITS: if (insn->n != 2) { diff --git a/drivers/staging/comedi/drivers/adl_pci9111.c b/drivers/staging/comedi/drivers/adl_pci9111.c index c741e8a..647b2d8 100644 --- a/drivers/staging/comedi/drivers/adl_pci9111.c +++ b/drivers/staging/comedi/drivers/adl_pci9111.c @@ -748,7 +748,6 @@ static int pci9111_ai_insn_read(struct comedi_device *dev, ret = comedi_timeout(dev, s, insn, pci9111_ai_eoc, 0); if (ret) { - comedi_error(dev, "A/D read timeout"); data[i] = 0; pci9111_fifo_reset(dev); return ret; diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c b/drivers/staging/comedi/drivers/adl_pci9118.c index 6492bd8..9218e92 100644 --- a/drivers/staging/comedi/drivers/adl_pci9118.c +++ b/drivers/staging/comedi/drivers/adl_pci9118.c @@ -614,7 +614,6 @@ static int pci9118_insn_read_ai(struct comedi_device *dev, ret = comedi_timeout(dev, s, insn, pci9118_ai_eoc, 0); if (ret) { - comedi_error(dev, "A/D insn timeout"); data[n] = 0; outl(0, dev->iobase + PCI9118_DELFIFO); /* flush FIFO */ return ret; diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c b/drivers/staging/comedi/drivers/adv_pci1710.c index 36ed579..16c4bb0 100644 --- a/drivers/staging/comedi/drivers/adv_pci1710.c +++ b/drivers/staging/comedi/drivers/adv_pci1710.c @@ -467,7 +467,6 @@ static int pci171x_insn_read_ai(struct comedi_device *dev, ret = comedi_timeout(dev, s, insn, pci171x_ai_eoc, 0); if (ret) { - comedi_error(dev, "A/D insn timeout"); outb(0, dev->iobase + PCI171x_CLRFIFO); outb(0, dev->iobase + PCI171x_CLRINT); data[n] = 0; diff --git a/drivers/staging/comedi/drivers/aio_aio12_8.c b/drivers/staging/comedi/drivers/aio_aio12_8.c index 3f994ed..324746b 100644 --- a/drivers/staging/comedi/drivers/aio_aio12_8.c +++ b/drivers/staging/comedi/drivers/aio_aio12_8.c @@ -140,10 +140,8 @@ static int aio_aio12_8_ai_read(struct comedi_device *dev, /* Wait for conversion to complete */ ret = comedi_timeout(dev, s, insn, aio_aio12_8_ai_eoc, 0); - if (ret) { - dev_err(dev->class_dev, "ADC timeout\n"); + if (ret) return ret; - } data[n] = inw(dev->iobase + AIO12_8_ADC_REG) & s->maxdata; } diff --git a/drivers/staging/comedi/drivers/amplc_pci230.c b/drivers/staging/comedi/drivers/amplc_pci230.c index b606bdb..99e6083 100644 --- a/drivers/staging/comedi/drivers/amplc_pci230.c +++ b/drivers/staging/comedi/drivers/amplc_pci230.c @@ -895,10 +895,8 @@ static int pci230_ai_rinsn(struct comedi_device *dev, /* wait for conversion to end */ ret = comedi_timeout(dev, s, insn, pci230_ai_eoc, 0); - if (ret) { - dev_err(dev->class_dev, "timeout\n"); + if (ret) return ret; - } /* read data */ data[n] = pci230_ai_read(dev); diff --git a/drivers/staging/comedi/drivers/cb_das16_cs.c b/drivers/staging/comedi/drivers/cb_das16_cs.c index 549844c..e0ed193 100644 --- a/drivers/staging/comedi/drivers/cb_das16_cs.c +++ b/drivers/staging/comedi/drivers/cb_das16_cs.c @@ -152,10 +152,8 @@ static int das16cs_ai_rinsn(struct comedi_device *dev, outw(0, dev->iobase + DAS16CS_ADC_DATA); ret = comedi_timeout(dev, s, insn, das16cs_ai_eoc, 0); - if (ret) { - dev_dbg(dev->class_dev, "cb_das16_cs: ai timeout\n"); + if (ret) return ret; - } data[i] = inw(dev->iobase + DAS16CS_ADC_DATA); } diff --git a/drivers/staging/comedi/drivers/cb_pcidas64.c b/drivers/staging/comedi/drivers/cb_pcidas64.c index 21e13a5..f9afcbe 100644 --- a/drivers/staging/comedi/drivers/cb_pcidas64.c +++ b/drivers/staging/comedi/drivers/cb_pcidas64.c @@ -1792,10 +1792,8 @@ static int ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s, /* wait for data */ ret = comedi_timeout(dev, s, insn, cb_pcidas64_ai_eoc, 0); - if (ret) { - comedi_error(dev, " analog input read insn timed out"); + if (ret) return ret; - } if (thisboard->layout == LAYOUT_4020) data[n] = readl(devpriv->dio_counter_iobase + diff --git a/drivers/staging/comedi/drivers/das08.c b/drivers/staging/comedi/drivers/das08.c index b991631..c5e352f 100644 --- a/drivers/staging/comedi/drivers/das08.c +++ b/drivers/staging/comedi/drivers/das08.c @@ -257,10 +257,8 @@ static int das08_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s, outb_p(0, dev->iobase + DAS08_TRIG_12BIT); ret = comedi_timeout(dev, s, insn, das08_ai_eoc, 0); - if (ret) { - dev_err(dev->class_dev, "timeout\n"); + if (ret) return ret; - } msb = inb(dev->iobase + DAS08_MSB); lsb = inb(dev->iobase + DAS08_LSB); diff --git a/drivers/staging/comedi/drivers/das16m1.c b/drivers/staging/comedi/drivers/das16m1.c index a94b7a4..0a90ab3 100644 --- a/drivers/staging/comedi/drivers/das16m1.c +++ b/drivers/staging/comedi/drivers/das16m1.c @@ -370,10 +370,8 @@ static int das16m1_ai_rinsn(struct comedi_device *dev, outb(0, dev->iobase); ret = comedi_timeout(dev, s, insn, das16m1_ai_eoc, 0); - if (ret) { - comedi_error(dev, "timeout"); + if (ret) return ret; - } data[n] = munge_sample(inw(dev->iobase)); } diff --git a/drivers/staging/comedi/drivers/das1800.c b/drivers/staging/comedi/drivers/das1800.c index e2022ee..415c1b7 100644 --- a/drivers/staging/comedi/drivers/das1800.c +++ b/drivers/staging/comedi/drivers/das1800.c @@ -1251,10 +1251,8 @@ static int das1800_ai_rinsn(struct comedi_device *dev, outb(0, dev->iobase + DAS1800_FIFO); ret = comedi_timeout(dev, s, insn, das1800_ai_eoc, 0); - if (ret) { - comedi_error(dev, "timeout"); + if (ret) break; - } dpnt = inw(dev->iobase + DAS1800_FIFO); /* shift data to offset binary for bipolar ranges */ diff --git a/drivers/staging/comedi/drivers/dt2815.c b/drivers/staging/comedi/drivers/dt2815.c index 1ab1dd7..b9ac4ed 100644 --- a/drivers/staging/comedi/drivers/dt2815.c +++ b/drivers/staging/comedi/drivers/dt2815.c @@ -108,22 +108,14 @@ static int dt2815_ao_insn(struct comedi_device *dev, struct comedi_subdevice *s, hi = (data[i] & 0xff0) >> 4; ret = comedi_timeout(dev, s, insn, dt2815_ao_status, 0x00); - if (ret) { - dev_dbg(dev->class_dev, - "failed to write low byte on %d\n", - chan); + if (ret) return ret; - } outb(lo, dev->iobase + DT2815_DATA); ret = comedi_timeout(dev, s, insn, dt2815_ao_status, 0x10); - if (ret) { - dev_dbg(dev->class_dev, - "failed to write high byte on %d\n", - chan); + if (ret) return ret; - } devpriv->ao_readback[chan] = data[i]; } diff --git a/drivers/staging/comedi/drivers/dt282x.c b/drivers/staging/comedi/drivers/dt282x.c index f768210..6cc8f1d 100644 --- a/drivers/staging/comedi/drivers/dt282x.c +++ b/drivers/staging/comedi/drivers/dt282x.c @@ -554,10 +554,8 @@ static int dt282x_ai_insn_read(struct comedi_device *dev, outw(devpriv->supcsr | DT2821_PRLD, dev->iobase + DT2821_SUPCSR); ret = comedi_timeout(dev, s, insn, dt282x_ai_timeout, DT2821_MUXBUSY); - if (ret) { - comedi_error(dev, "timeout\n"); + if (ret) return ret; - } for (i = 0; i < insn->n; i++) { outw(devpriv->supcsr | DT2821_STRIG, @@ -565,10 +563,8 @@ static int dt282x_ai_insn_read(struct comedi_device *dev, ret = comedi_timeout(dev, s, insn, dt282x_ai_timeout, DT2821_ADDONE); - if (ret) { - comedi_error(dev, "timeout\n"); + if (ret) return ret; - } data[i] = inw(dev->iobase + @@ -704,10 +700,8 @@ static int dt282x_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s) outw(devpriv->supcsr | DT2821_PRLD, dev->iobase + DT2821_SUPCSR); ret = comedi_timeout(dev, s, NULL, dt282x_ai_timeout, DT2821_MUXBUSY); - if (ret) { - comedi_error(dev, "timeout\n"); + if (ret) return ret; - } if (cmd->scan_begin_src == TRIG_FOLLOW) { outw(devpriv->supcsr | DT2821_STRIG, diff --git a/drivers/staging/comedi/drivers/dyna_pci10xx.c b/drivers/staging/comedi/drivers/dyna_pci10xx.c index 6d03b8f..78d44a9 100644 --- a/drivers/staging/comedi/drivers/dyna_pci10xx.c +++ b/drivers/staging/comedi/drivers/dyna_pci10xx.c @@ -95,8 +95,6 @@ static int dyna_pci10xx_insn_read_ai(struct comedi_device *dev, ret = comedi_timeout(dev, s, insn, dyna_pci10xx_ai_eoc, 0); if (ret) { data[n] = 0; - dev_dbg(dev->class_dev, - "timeout reading analog input\n"); break; } diff --git a/drivers/staging/comedi/drivers/icp_multi.c b/drivers/staging/comedi/drivers/icp_multi.c index 7fb6ca0..ee30f2b 100644 --- a/drivers/staging/comedi/drivers/icp_multi.c +++ b/drivers/staging/comedi/drivers/icp_multi.c @@ -216,7 +216,6 @@ static int icp_multi_insn_read_ai(struct comedi_device *dev, /* Wait for conversion to complete, or get fed up waiting */ ret = comedi_timeout(dev, s, insn, icp_multi_ai_eoc, 0); if (ret) { - comedi_error(dev, "A/D insn timeout"); /* Clear data received */ data[n] = 0; break; @@ -287,8 +286,6 @@ static int icp_multi_insn_write_ao(struct comedi_device *dev, * ready for new data, or get fed up waiting */ ret = comedi_timeout(dev, s, insn, icp_multi_ao_eoc, 0); if (ret) { - comedi_error(dev, "D/A insn timeout"); - /* Disable interrupt */ devpriv->IntEnable &= ~DAC_READY; writew(devpriv->IntEnable, diff --git a/drivers/staging/comedi/drivers/me_daq.c b/drivers/staging/comedi/drivers/me_daq.c index 288fb21..0ff126b 100644 --- a/drivers/staging/comedi/drivers/me_daq.c +++ b/drivers/staging/comedi/drivers/me_daq.c @@ -305,10 +305,8 @@ static int me_ai_insn_read(struct comedi_device *dev, /* wait for ADC fifo not empty flag */ ret = comedi_timeout(dev, s, insn, me_ai_eoc, 0); - if (ret) { - dev_err(dev->class_dev, "Cannot get single value\n"); + if (ret) return ret; - } /* get value from ADC fifo */ val = readw(dev_private->me_regbase + ME_READ_AD_FIFO); diff --git a/drivers/staging/comedi/drivers/ni_at_a2150.c b/drivers/staging/comedi/drivers/ni_at_a2150.c index 07239c9..740f149 100644 --- a/drivers/staging/comedi/drivers/ni_at_a2150.c +++ b/drivers/staging/comedi/drivers/ni_at_a2150.c @@ -538,10 +538,8 @@ static int a2150_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s, */ for (n = 0; n < 36; n++) { ret = comedi_timeout(dev, s, insn, a2150_ai_eoc, 0); - if (ret) { - comedi_error(dev, "timeout"); + if (ret) return ret; - } inw(dev->iobase + FIFO_DATA_REG); } @@ -549,10 +547,8 @@ static int a2150_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s, /* read data */ for (n = 0; n < insn->n; n++) { ret = comedi_timeout(dev, s, insn, a2150_ai_eoc, 0); - if (ret) { - comedi_error(dev, "timeout"); + if (ret) return ret; - } data[n] = inw(dev->iobase + FIFO_DATA_REG); data[n] ^= 0x8000; diff --git a/drivers/staging/comedi/drivers/ni_daq_700.c b/drivers/staging/comedi/drivers/ni_daq_700.c index e56bfeb..171a71d 100644 --- a/drivers/staging/comedi/drivers/ni_daq_700.c +++ b/drivers/staging/comedi/drivers/ni_daq_700.c @@ -150,22 +150,8 @@ static int daq700_ai_rinsn(struct comedi_device *dev, /* wait for conversion to end */ ret = comedi_timeout(dev, s, insn, daq700_ai_eoc, 0); - if (ret) { - switch (ret) { - case -EOVERFLOW: - dev_info(dev->class_dev, - "Overflow/run Error\n"); - break; - case -ENODATA: - dev_info(dev->class_dev, "Data Error\n"); - break; - default: - dev_info(dev->class_dev, - "timeout during ADC conversion\n"); - break; - } + if (ret) return ret; - } /* read data */ d = inw(dev->iobase + ADFIFO_R); diff --git a/drivers/staging/comedi/drivers/pcl812.c b/drivers/staging/comedi/drivers/pcl812.c index 3fa429a..87b196d 100644 --- a/drivers/staging/comedi/drivers/pcl812.c +++ b/drivers/staging/comedi/drivers/pcl812.c @@ -434,10 +434,8 @@ static int pcl812_ai_insn_read(struct comedi_device *dev, udelay(5); ret = comedi_timeout(dev, s, insn, pcl812_ai_eoc, 0); - if (ret) { - dev_dbg(dev->class_dev, "A/D insn read timeout\n"); + if (ret) break; - } hi = inb(dev->iobase + PCL812_AD_HI); data[n] = ((hi & 0xf) << 8) | inb(dev->iobase + PCL812_AD_LO); @@ -464,10 +462,8 @@ static int acl8216_ai_insn_read(struct comedi_device *dev, udelay(5); ret = comedi_timeout(dev, s, insn, pcl812_ai_eoc, 0); - if (ret) { - dev_dbg(dev->class_dev, "A/D insn read timeout\n"); + if (ret) break; - } data[n] = (inb(dev->iobase + diff --git a/drivers/staging/comedi/drivers/pcl816.c b/drivers/staging/comedi/drivers/pcl816.c index b3a2af3..eaeea85 100644 --- a/drivers/staging/comedi/drivers/pcl816.c +++ b/drivers/staging/comedi/drivers/pcl816.c @@ -196,7 +196,6 @@ static int pcl816_ai_insn_read(struct comedi_device *dev, ret = comedi_timeout(dev, s, insn, pcl816_ai_eoc, 0); if (ret) { - comedi_error(dev, "A/D insn timeout\n"); data[0] = 0; /* clear INT (conversion end) flag */ outb(0, dev->iobase + PCL816_CLRINT); diff --git a/drivers/staging/comedi/drivers/pcl818.c b/drivers/staging/comedi/drivers/pcl818.c index bb51cde..82d071b 100644 --- a/drivers/staging/comedi/drivers/pcl818.c +++ b/drivers/staging/comedi/drivers/pcl818.c @@ -375,7 +375,6 @@ static int pcl818_ai_insn_read(struct comedi_device *dev, ret = comedi_timeout(dev, s, insn, pcl818_ai_eoc, 0); if (ret) { - comedi_error(dev, "A/D insn timeout"); /* clear INT (conversion end) flag */ outb(0, dev->iobase + PCL818_CLRINT); return ret; diff --git a/drivers/staging/comedi/drivers/skel.c b/drivers/staging/comedi/drivers/skel.c index a493368..39008cf 100644 --- a/drivers/staging/comedi/drivers/skel.c +++ b/drivers/staging/comedi/drivers/skel.c @@ -190,10 +190,8 @@ static int skel_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s, /* wait for conversion to end */ ret = comedi_timeout(dev, s, insn, skel_ai_eoc, 0); - if (ret) { - dev_warn(dev->class_dev, "ai timeout\n"); + if (ret) return ret; - } /* read data */ /* d = inw(dev->iobase + SKEL_AI_DATA); */ -- 1.8.5.2 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel