]> git.karo-electronics.de Git - linux-beck.git/commitdiff
staging: comedi: s526: tidy up s526_ai_rinsn()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Mon, 17 Aug 2015 23:58:23 +0000 (16:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 13 Sep 2015 01:24:22 +0000 (18:24 -0700)
Rename this function to follow the normal naming in comedi drivers.

Use the comedi_offset_munge() helper to munge the hardware two's
complement data to the comedi offset binary format.

Change the final return to insn->n to clarify the return value without
the need for the comment.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/s526.c

index 152be955f8abd46ddc506f5463fe9456654c4d0a..1a5aa3d3a36ec5616a5675ba6a2b564b39a20c4f 100644 (file)
@@ -434,15 +434,17 @@ static int s526_eoc(struct comedi_device *dev,
        return -EBUSY;
 }
 
-static int s526_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
-                        struct comedi_insn *insn, unsigned int *data)
+static int s526_ai_insn_read(struct comedi_device *dev,
+                            struct comedi_subdevice *s,
+                            struct comedi_insn *insn,
+                            unsigned int *data)
 {
        struct s526_private *devpriv = dev->private;
        unsigned int chan = CR_CHAN(insn->chanspec);
        unsigned int ctrl;
-       int n;
-       unsigned int d;
+       unsigned int val;
        int ret;
+       int i;
 
        /*
         * Set configured delay, enable conversion and read for requested
@@ -452,8 +454,7 @@ static int s526_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
               S526_AI_CTRL_CONV(chan) | S526_AI_CTRL_READ(chan) |
               S526_AI_CTRL_START;
 
-       /* convert n samples */
-       for (n = 0; n < insn->n; n++) {
+       for (i = 0; i < insn->n; i++) {
                /* trigger conversion */
                outw(ctrl, dev->iobase + S526_AI_CTRL_REG);
 
@@ -462,14 +463,11 @@ static int s526_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
                if (ret)
                        return ret;
 
-               d = inw(dev->iobase + S526_AI_REG);
-
-               /* munge data */
-               data[n] = d ^ 0x8000;
+               val = inw(dev->iobase + S526_AI_REG);
+               data[i] = comedi_offset_munge(s, val);
        }
 
-       /* return the number of samples read/written */
-       return n;
+       return insn->n;
 }
 
 static int s526_ao_insn_write(struct comedi_device *dev,
@@ -591,7 +589,7 @@ static int s526_attach(struct comedi_device *dev, struct comedi_devconfig *it)
        s->maxdata      = 0xffff;
        s->range_table  = &range_bipolar10;
        s->len_chanlist = 16;
-       s->insn_read    = s526_ai_rinsn;
+       s->insn_read    = s526_ai_insn_read;
        s->insn_config  = s526_ai_insn_config;
 
        /* Analog Output subdevice */