Commit 9a23a748 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: vmk80xx: cleanup pwm subdevice init

Change the 'pwm_bits' in the boardinfo to 'pwm_maxdata' so that the
calculation of s->maxdata can be removed. Also, change the type to
match the comedi_subdevice type. For aesthetic reasons, rename the
'pwm_chans' boardinfo and change its type also.

Remove the '0' values in the boardinfo.

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

For aesthetic reasons, add some whitespace to the subdevice init.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 75a45d92
...@@ -164,8 +164,8 @@ struct vmk80xx_board { ...@@ -164,8 +164,8 @@ struct vmk80xx_board {
int ao_nchans; int ao_nchans;
int di_nchans; int di_nchans;
unsigned int cnt_maxdata; unsigned int cnt_maxdata;
__u8 pwm_chans; int pwm_nchans;
__le16 pwm_bits; unsigned int pwm_maxdata;
}; };
static const struct vmk80xx_board vmk80xx_boardinfo[] = { static const struct vmk80xx_board vmk80xx_boardinfo[] = {
...@@ -178,8 +178,6 @@ static const struct vmk80xx_board vmk80xx_boardinfo[] = { ...@@ -178,8 +178,6 @@ static const struct vmk80xx_board vmk80xx_boardinfo[] = {
.ao_nchans = 2, .ao_nchans = 2,
.di_nchans = 6, .di_nchans = 6,
.cnt_maxdata = 0xffff, .cnt_maxdata = 0xffff,
.pwm_chans = 0,
.pwm_bits = 0,
}, },
[DEVICE_VMK8061] = { [DEVICE_VMK8061] = {
.name = "K8061 (VM140)", .name = "K8061 (VM140)",
...@@ -190,8 +188,8 @@ static const struct vmk80xx_board vmk80xx_boardinfo[] = { ...@@ -190,8 +188,8 @@ static const struct vmk80xx_board vmk80xx_boardinfo[] = {
.ao_nchans = 8, .ao_nchans = 8,
.di_nchans = 8, .di_nchans = 8,
.cnt_maxdata = 0, /* unknown, device is not writeable */ .cnt_maxdata = 0, /* unknown, device is not writeable */
.pwm_chans = 1, .pwm_nchans = 1,
.pwm_bits = 10, .pwm_maxdata = 0x03ff,
}, },
}; };
...@@ -1043,9 +1041,10 @@ static int vmk80xx_cnt_insn_write(struct comedi_device *dev, ...@@ -1043,9 +1041,10 @@ static int vmk80xx_cnt_insn_write(struct comedi_device *dev,
return n; return n;
} }
static int vmk80xx_pwm_rinsn(struct comedi_device *dev, static int vmk80xx_pwm_insn_read(struct comedi_device *dev,
struct comedi_subdevice *s, struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data) struct comedi_insn *insn,
unsigned int *data)
{ {
struct vmk80xx_private *devpriv = dev->private; struct vmk80xx_private *devpriv = dev->private;
unsigned char *tx_buf; unsigned char *tx_buf;
...@@ -1079,9 +1078,10 @@ static int vmk80xx_pwm_rinsn(struct comedi_device *dev, ...@@ -1079,9 +1078,10 @@ static int vmk80xx_pwm_rinsn(struct comedi_device *dev,
return n; return n;
} }
static int vmk80xx_pwm_winsn(struct comedi_device *dev, static int vmk80xx_pwm_insn_write(struct comedi_device *dev,
struct comedi_subdevice *s, struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data) struct comedi_insn *insn,
unsigned int *data)
{ {
struct vmk80xx_private *devpriv = dev->private; struct vmk80xx_private *devpriv = dev->private;
unsigned char *tx_buf; unsigned char *tx_buf;
...@@ -1265,12 +1265,12 @@ static int vmk80xx_attach_common(struct comedi_device *dev) ...@@ -1265,12 +1265,12 @@ static int vmk80xx_attach_common(struct comedi_device *dev)
/* PWM subdevice */ /* PWM subdevice */
if (devpriv->model == VMK8061_MODEL) { if (devpriv->model == VMK8061_MODEL) {
s = &dev->subdevices[5]; s = &dev->subdevices[5];
s->type = COMEDI_SUBD_PWM; s->type = COMEDI_SUBD_PWM;
s->subdev_flags = SDF_READABLE | SDF_WRITEABLE; s->subdev_flags = SDF_READABLE | SDF_WRITEABLE;
s->n_chan = boardinfo->pwm_chans; s->n_chan = boardinfo->pwm_nchans;
s->maxdata = (1 << boardinfo->pwm_bits) - 1; s->maxdata = boardinfo->pwm_maxdata;
s->insn_read = vmk80xx_pwm_rinsn; s->insn_read = vmk80xx_pwm_insn_read;
s->insn_write = vmk80xx_pwm_winsn; s->insn_write = vmk80xx_pwm_insn_write;
} }
up(&devpriv->limit_sem); up(&devpriv->limit_sem);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment