aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/comedi/drivers/vmk80xx.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/drivers/staging/comedi/drivers/vmk80xx.c b/drivers/staging/comedi/drivers/vmk80xx.c
index 26a9a9607f35..00f5784f0b59 100644
--- a/drivers/staging/comedi/drivers/vmk80xx.c
+++ b/drivers/staging/comedi/drivers/vmk80xx.c
@@ -164,8 +164,8 @@ struct vmk80xx_board {
164 int ao_nchans; 164 int ao_nchans;
165 int di_nchans; 165 int di_nchans;
166 unsigned int cnt_maxdata; 166 unsigned int cnt_maxdata;
167 __u8 pwm_chans; 167 int pwm_nchans;
168 __le16 pwm_bits; 168 unsigned int pwm_maxdata;
169}; 169};
170 170
171static const struct vmk80xx_board vmk80xx_boardinfo[] = { 171static const struct vmk80xx_board vmk80xx_boardinfo[] = {
@@ -178,8 +178,6 @@ static const struct vmk80xx_board vmk80xx_boardinfo[] = {
178 .ao_nchans = 2, 178 .ao_nchans = 2,
179 .di_nchans = 6, 179 .di_nchans = 6,
180 .cnt_maxdata = 0xffff, 180 .cnt_maxdata = 0xffff,
181 .pwm_chans = 0,
182 .pwm_bits = 0,
183 }, 181 },
184 [DEVICE_VMK8061] = { 182 [DEVICE_VMK8061] = {
185 .name = "K8061 (VM140)", 183 .name = "K8061 (VM140)",
@@ -190,8 +188,8 @@ static const struct vmk80xx_board vmk80xx_boardinfo[] = {
190 .ao_nchans = 8, 188 .ao_nchans = 8,
191 .di_nchans = 8, 189 .di_nchans = 8,
192 .cnt_maxdata = 0, /* unknown, device is not writeable */ 190 .cnt_maxdata = 0, /* unknown, device is not writeable */
193 .pwm_chans = 1, 191 .pwm_nchans = 1,
194 .pwm_bits = 10, 192 .pwm_maxdata = 0x03ff,
195 }, 193 },
196}; 194};
197 195
@@ -1043,9 +1041,10 @@ static int vmk80xx_cnt_insn_write(struct comedi_device *dev,
1043 return n; 1041 return n;
1044} 1042}
1045 1043
1046static int vmk80xx_pwm_rinsn(struct comedi_device *dev, 1044static int vmk80xx_pwm_insn_read(struct comedi_device *dev,
1047 struct comedi_subdevice *s, 1045 struct comedi_subdevice *s,
1048 struct comedi_insn *insn, unsigned int *data) 1046 struct comedi_insn *insn,
1047 unsigned int *data)
1049{ 1048{
1050 struct vmk80xx_private *devpriv = dev->private; 1049 struct vmk80xx_private *devpriv = dev->private;
1051 unsigned char *tx_buf; 1050 unsigned char *tx_buf;
@@ -1079,9 +1078,10 @@ static int vmk80xx_pwm_rinsn(struct comedi_device *dev,
1079 return n; 1078 return n;
1080} 1079}
1081 1080
1082static int vmk80xx_pwm_winsn(struct comedi_device *dev, 1081static int vmk80xx_pwm_insn_write(struct comedi_device *dev,
1083 struct comedi_subdevice *s, 1082 struct comedi_subdevice *s,
1084 struct comedi_insn *insn, unsigned int *data) 1083 struct comedi_insn *insn,
1084 unsigned int *data)
1085{ 1085{
1086 struct vmk80xx_private *devpriv = dev->private; 1086 struct vmk80xx_private *devpriv = dev->private;
1087 unsigned char *tx_buf; 1087 unsigned char *tx_buf;
@@ -1265,12 +1265,12 @@ static int vmk80xx_attach_common(struct comedi_device *dev)
1265 /* PWM subdevice */ 1265 /* PWM subdevice */
1266 if (devpriv->model == VMK8061_MODEL) { 1266 if (devpriv->model == VMK8061_MODEL) {
1267 s = &dev->subdevices[5]; 1267 s = &dev->subdevices[5];
1268 s->type = COMEDI_SUBD_PWM; 1268 s->type = COMEDI_SUBD_PWM;
1269 s->subdev_flags = SDF_READABLE | SDF_WRITEABLE; 1269 s->subdev_flags = SDF_READABLE | SDF_WRITEABLE;
1270 s->n_chan = boardinfo->pwm_chans; 1270 s->n_chan = boardinfo->pwm_nchans;
1271 s->maxdata = (1 << boardinfo->pwm_bits) - 1; 1271 s->maxdata = boardinfo->pwm_maxdata;
1272 s->insn_read = vmk80xx_pwm_rinsn; 1272 s->insn_read = vmk80xx_pwm_insn_read;
1273 s->insn_write = vmk80xx_pwm_winsn; 1273 s->insn_write = vmk80xx_pwm_insn_write;
1274 } 1274 }
1275 1275
1276 up(&devpriv->limit_sem); 1276 up(&devpriv->limit_sem);