Title: [9336] trunk/drivers/staging/iio/accel/sca3000_ring.c: merge from upstream: staging: iio: sca3000 convert byte order of ring buffer data
Diff
Modified: trunk/drivers/staging/iio/accel/sca3000_ring.c (9335 => 9336)
--- trunk/drivers/staging/iio/accel/sca3000_ring.c 2010-10-24 20:41:14 UTC (rev 9335)
+++ trunk/drivers/staging/iio/accel/sca3000_ring.c 2010-10-24 20:41:21 UTC (rev 9336)
@@ -53,7 +53,8 @@
struct iio_dev *indio_dev = hw_ring->private;
struct sca3000_state *st = indio_dev->dev_data;
u8 *rx;
- int ret, num_available, num_read = 0;
+ s16 *samples;
+ int ret, i, num_available, num_read = 0;
int bytes_per_sample = 1;
if (st->bpse == 11)
@@ -87,6 +88,17 @@
ret = sca3000_read_data(st,
SCA3000_REG_ADDR_RING_OUT,
data, num_read);
+
+ /* Convert byte order and shift to default resolution */
+ if (st->bpse == 11) {
+ samples = (s16*)(*data+1);
+ for (i = 0; i < (num_read/2); i++) {
+ samples[i] = be16_to_cpup(
+ (__be16 *)&(samples[i]));
+ samples[i] >>= 3;
+ }
+ }
+
error_ret:
mutex_unlock(&st->lock);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits