[PATCH 47/48] staging: comedi: move (*insn_{read, write}) timeout debug message to core

Ian Abbott abbotti at mev.co.uk
Fri Feb 7 15:40:23 UTC 2014


On 2014-02-06 23:49, H Hartley Sweeten wrote:
> 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 at visionengravers.com>
> Cc: Ian Abbott <abbotti at mev.co.uk>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> ---
>   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;

It would be nice if those also told you the subdevice number.

>                  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
>


-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti at mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-


More information about the devel mailing list