]> rtime.felk.cvut.cz Git - linux-imx.git/commitdiff
staging: comedi: vmk80xx: cleanup counter subdevice init
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 6 Feb 2013 00:27:37 +0000 (17:27 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Feb 2013 02:07:12 +0000 (18:07 -0800)
Change the 'cnt_bits' in the boardinfo to 'cnt_maxdata' so that the
calculation of s->maxdata can be removed. Also, change the type to
match the comedi_subdevice type. Add a comment about the '0' value
for DEVICE_VMK8061.

The s->maxdata should always be set for the subdevice. Move it out
of the conditional.

Rename the (*insn_read), (*insn_config_, and (*insn_write) functions
for the counter subdevice to make grepping easier.

For aesthetic reasons, add some whitespace to the subdevice init.

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>
drivers/staging/comedi/drivers/vmk80xx.c

index 4d51f6c9d1f9c0a79fbe9de631c7a8383e68484b..26a9a9607f352a16098c9642995e363f14342873 100644 (file)
@@ -163,7 +163,7 @@ struct vmk80xx_board {
        unsigned int ai_maxdata;
        int ao_nchans;
        int di_nchans;
-       __le16 cnt_bits;
+       unsigned int cnt_maxdata;
        __u8 pwm_chans;
        __le16 pwm_bits;
 };
@@ -177,7 +177,7 @@ static const struct vmk80xx_board vmk80xx_boardinfo[] = {
                .ai_maxdata     = 0x00ff,
                .ao_nchans      = 2,
                .di_nchans      = 6,
-               .cnt_bits       = 16,
+               .cnt_maxdata    = 0xffff,
                .pwm_chans      = 0,
                .pwm_bits       = 0,
        },
@@ -189,7 +189,7 @@ static const struct vmk80xx_board vmk80xx_boardinfo[] = {
                .ai_maxdata     = 0x03ff,
                .ao_nchans      = 8,
                .di_nchans      = 8,
-               .cnt_bits       = 0,
+               .cnt_maxdata    = 0,    /* unknown, device is not writeable */
                .pwm_chans      = 1,
                .pwm_bits       = 10,
        },
@@ -900,9 +900,10 @@ out:
        return retval;
 }
 
-static int vmk80xx_cnt_rinsn(struct comedi_device *dev,
-                            struct comedi_subdevice *s,
-                            struct comedi_insn *insn, unsigned int *data)
+static int vmk80xx_cnt_insn_read(struct comedi_device *dev,
+                                struct comedi_subdevice *s,
+                                struct comedi_insn *insn,
+                                unsigned int *data)
 {
        struct vmk80xx_private *devpriv = dev->private;
        int chan;
@@ -947,9 +948,10 @@ static int vmk80xx_cnt_rinsn(struct comedi_device *dev,
        return n;
 }
 
-static int vmk80xx_cnt_cinsn(struct comedi_device *dev,
-                            struct comedi_subdevice *s,
-                            struct comedi_insn *insn, unsigned int *data)
+static int vmk80xx_cnt_insn_config(struct comedi_device *dev,
+                                  struct comedi_subdevice *s,
+                                  struct comedi_insn *insn,
+                                  unsigned int *data)
 {
        struct vmk80xx_private *devpriv = dev->private;
        unsigned int insn_cmd;
@@ -993,9 +995,10 @@ static int vmk80xx_cnt_cinsn(struct comedi_device *dev,
        return n;
 }
 
-static int vmk80xx_cnt_winsn(struct comedi_device *dev,
-                            struct comedi_subdevice *s,
-                            struct comedi_insn *insn, unsigned int *data)
+static int vmk80xx_cnt_insn_write(struct comedi_device *dev,
+                                 struct comedi_subdevice *s,
+                                 struct comedi_insn *insn,
+                                 unsigned int *data)
 {
        struct vmk80xx_private *devpriv = dev->private;
        unsigned long debtime;
@@ -1248,15 +1251,15 @@ static int vmk80xx_attach_common(struct comedi_device *dev)
 
        /* Counter subdevice */
        s = &dev->subdevices[4];
-       s->type = COMEDI_SUBD_COUNTER;
-       s->subdev_flags = SDF_READABLE;
-       s->n_chan = 2;
-       s->insn_read = vmk80xx_cnt_rinsn;
-       s->insn_config = vmk80xx_cnt_cinsn;
+       s->type         = COMEDI_SUBD_COUNTER;
+       s->subdev_flags = SDF_READABLE;
+       s->n_chan       = 2;
+       s->maxdata      = boardinfo->cnt_maxdata;
+       s->insn_read    = vmk80xx_cnt_insn_read;
+       s->insn_config  = vmk80xx_cnt_insn_config;
        if (devpriv->model == VMK8055_MODEL) {
-               s->subdev_flags |= SDF_WRITEABLE;
-               s->maxdata = (1 << boardinfo->cnt_bits) - 1;
-               s->insn_write = vmk80xx_cnt_winsn;
+               s->subdev_flags |= SDF_WRITEABLE;
+               s->insn_write   = vmk80xx_cnt_insn_write;
        }
 
        /* PWM subdevice */