Commit f1d376be authored by Ian Abbott's avatar Ian Abbott Committed by Greg Kroah-Hartman

staging: comedi: usbduxsigma: sample types are unsigned

Sample values in comedi are generally represented as unsigned values.
Use unsigned types consistently for handling comedi sample data and also
for the USB data buffers.
Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 470180c6
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
#define USBDUXSIGMA_NUM_AO_CHAN 4 #define USBDUXSIGMA_NUM_AO_CHAN 4
/* Size of one A/D value */ /* Size of one A/D value */
#define SIZEADIN ((sizeof(int32_t))) #define SIZEADIN ((sizeof(uint32_t)))
/* /*
* Size of the async input-buffer IN BYTES, the DIO state is transmitted * Size of the async input-buffer IN BYTES, the DIO state is transmitted
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
#define NUMOUTCHANNELS 8 #define NUMOUTCHANNELS 8
/* size of one value for the D/A converter: channel and value */ /* size of one value for the D/A converter: channel and value */
#define SIZEDAOUT ((sizeof(uint8_t)+sizeof(int16_t))) #define SIZEDAOUT ((sizeof(uint8_t)+sizeof(uint16_t)))
/* /*
* Size of the output-buffer in bytes * Size of the output-buffer in bytes
...@@ -157,11 +157,11 @@ struct usbduxsigma_private { ...@@ -157,11 +157,11 @@ struct usbduxsigma_private {
/* size of the PWM buffer which holds the bit pattern */ /* size of the PWM buffer which holds the bit pattern */
int pwm_buf_sz; int pwm_buf_sz;
/* input buffer for the ISO-transfer */ /* input buffer for the ISO-transfer */
int32_t *in_buf; uint32_t *in_buf;
/* input buffer for single insn */ /* input buffer for single insn */
int8_t *insn_buf; uint8_t *insn_buf;
int8_t ao_chanlist[USBDUXSIGMA_NUM_AO_CHAN]; uint8_t ao_chanlist[USBDUXSIGMA_NUM_AO_CHAN];
unsigned int ao_readback[USBDUXSIGMA_NUM_AO_CHAN]; unsigned int ao_readback[USBDUXSIGMA_NUM_AO_CHAN];
unsigned high_speed:1; unsigned high_speed:1;
...@@ -224,7 +224,7 @@ static void usbduxsigma_ai_urb_complete(struct urb *urb) ...@@ -224,7 +224,7 @@ static void usbduxsigma_ai_urb_complete(struct urb *urb)
struct usbduxsigma_private *devpriv = dev->private; struct usbduxsigma_private *devpriv = dev->private;
struct comedi_subdevice *s = dev->read_subdev; struct comedi_subdevice *s = dev->read_subdev;
unsigned int dio_state; unsigned int dio_state;
int32_t val; uint32_t val;
int ret; int ret;
int i; int i;
...@@ -421,7 +421,7 @@ static void usbduxsigma_ao_urb_complete(struct urb *urb) ...@@ -421,7 +421,7 @@ static void usbduxsigma_ao_urb_complete(struct urb *urb)
*datap++ = len; *datap++ = len;
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
unsigned int chan = devpriv->ao_chanlist[i]; unsigned int chan = devpriv->ao_chanlist[i];
short val; unsigned short val;
ret = comedi_buf_get(s->async, &val); ret = comedi_buf_get(s->async, &val);
if (ret < 0) { if (ret < 0) {
...@@ -784,7 +784,7 @@ static int usbduxsigma_ai_insn_read(struct comedi_device *dev, ...@@ -784,7 +784,7 @@ static int usbduxsigma_ai_insn_read(struct comedi_device *dev,
} }
for (i = 0; i < insn->n; i++) { for (i = 0; i < insn->n; i++) {
int32_t val; uint32_t val;
ret = usbduxsigma_receive_cmd(dev, USBDUXSIGMA_SINGLE_AD_CMD); ret = usbduxsigma_receive_cmd(dev, USBDUXSIGMA_SINGLE_AD_CMD);
if (ret < 0) { if (ret < 0) {
...@@ -793,7 +793,7 @@ static int usbduxsigma_ai_insn_read(struct comedi_device *dev, ...@@ -793,7 +793,7 @@ static int usbduxsigma_ai_insn_read(struct comedi_device *dev,
} }
/* 32 bits big endian from the A/D converter */ /* 32 bits big endian from the A/D converter */
val = be32_to_cpu(*((int32_t *)((devpriv->insn_buf) + 1))); val = be32_to_cpu(*((uint32_t *)((devpriv->insn_buf) + 1)));
val &= 0x00ffffff; /* strip status byte */ val &= 0x00ffffff; /* strip status byte */
val ^= 0x00800000; /* convert to unsigned */ val ^= 0x00800000; /* convert to unsigned */
...@@ -1358,7 +1358,7 @@ static int usbduxsigma_getstatusinfo(struct comedi_device *dev, int chan) ...@@ -1358,7 +1358,7 @@ static int usbduxsigma_getstatusinfo(struct comedi_device *dev, int chan)
return ret; return ret;
/* 32 bits big endian from the A/D converter */ /* 32 bits big endian from the A/D converter */
val = be32_to_cpu(*((int32_t *)((devpriv->insn_buf)+1))); val = be32_to_cpu(*((uint32_t *)((devpriv->insn_buf)+1)));
val &= 0x00ffffff; /* strip status byte */ val &= 0x00ffffff; /* strip status byte */
val ^= 0x00800000; /* convert to unsigned */ val ^= 0x00800000; /* convert to unsigned */
......
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