summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2014-02-10 11:49:45 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-14 09:28:46 -0800
commit22ca19d93d92c79cff68270846a84bd34fe6fb34 (patch)
tree1ec371d914a7b965130d658d4232f6d34ef85cb0
parentf7b3d79a622c97483c8d0e6e4bbd5207929259d9 (diff)
staging: comedi: move (*insn_{read, write}) timeout debug messages to core
Have the comedi core display a standard dev_dbg() message when a timeout occurs and remove all the driver specific messages. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/comedi/comedi_fops.c13
-rw-r--r--drivers/staging/comedi/drivers/adl_pci9111.c1
-rw-r--r--drivers/staging/comedi/drivers/adl_pci9118.c1
-rw-r--r--drivers/staging/comedi/drivers/adv_pci1710.c1
-rw-r--r--drivers/staging/comedi/drivers/aio_aio12_8.c4
-rw-r--r--drivers/staging/comedi/drivers/amplc_pci230.c4
-rw-r--r--drivers/staging/comedi/drivers/cb_das16_cs.c4
-rw-r--r--drivers/staging/comedi/drivers/cb_pcidas64.c4
-rw-r--r--drivers/staging/comedi/drivers/das08.c4
-rw-r--r--drivers/staging/comedi/drivers/das16m1.c4
-rw-r--r--drivers/staging/comedi/drivers/dt2815.c12
-rw-r--r--drivers/staging/comedi/drivers/dt282x.c12
-rw-r--r--drivers/staging/comedi/drivers/dyna_pci10xx.c2
-rw-r--r--drivers/staging/comedi/drivers/icp_multi.c3
-rw-r--r--drivers/staging/comedi/drivers/me_daq.c4
-rw-r--r--drivers/staging/comedi/drivers/ni_at_a2150.c8
-rw-r--r--drivers/staging/comedi/drivers/ni_daq_700.c16
-rw-r--r--drivers/staging/comedi/drivers/pcl812.c8
-rw-r--r--drivers/staging/comedi/drivers/pcl816.c1
-rw-r--r--drivers/staging/comedi/drivers/pcl818.c1
-rw-r--r--drivers/staging/comedi/drivers/skel.c4
21 files changed, 30 insertions, 81 deletions
diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c
index b36b76060d03..ac1edd9d1e21 100644
--- a/drivers/staging/comedi/comedi_fops.c
+++ b/drivers/staging/comedi/comedi_fops.c
@@ -1194,6 +1194,11 @@ 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,
+ "subdevice %d read instruction timed out\n",
+ s->index);
+ }
break;
case INSN_WRITE:
maxdata = s->maxdata_list
@@ -1207,8 +1212,14 @@ 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,
+ "subdevice %d write instruction timed out\n",
+ s->index);
+ }
+ }
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 c741e8a04146..647b2d814d61 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 6492bd81efe8..9218e9293cf5 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 36ed579cdd95..16c4bb00022c 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 3f994ed3db42..324746b14931 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 b606bdb2826e..99e60835dc4a 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 549844cf2b35..e0ed193522e0 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 21e13a5cea11..f9afcbe1da54 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 b9916315adc6..c5e352fb5555 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 a94b7a4e495e..0a90ab341758 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/dt2815.c b/drivers/staging/comedi/drivers/dt2815.c
index 1ab1dd76dfd7..b9ac4ed8babb 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 f768210184c1..6cc8f1d5b831 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 6d03b8fe1c24..78d44a9c8a71 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 7fb6ca0a2f26..ee30f2b8a54b 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 288fb21b6f65..0ff126b1fdfd 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 07239c967f9d..740f14994f97 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 e56bfeb89a81..171a71d20c88 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 2ad6c73dfd68..feb9e98524aa 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 db00d079c9c9..4bf2efb2c027 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 ff5cc1b8bed7..9087e54537ec 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 a4933683a575..39008cf30ecb 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); */