diff options
-rw-r--r-- | drivers/staging/comedi/drivers/vmk80xx.c | 36 |
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 | ||
171 | static const struct vmk80xx_board vmk80xx_boardinfo[] = { | 171 | static 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 | ||
1046 | static int vmk80xx_pwm_rinsn(struct comedi_device *dev, | 1044 | static 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 | ||
1082 | static int vmk80xx_pwm_winsn(struct comedi_device *dev, | 1081 | static 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); |