IIO: GYRO: ADXRS450: Cleanup result extraction and update license notice
authorMichael Hennerich <michael.hennerich@analog.com>
Fri, 29 Apr 2011 12:17:00 +0000 (14:17 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 3 May 2011 18:40:01 +0000 (11:40 -0700)
Cleanup result extraction and update license notice, no functional changes.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/iio/gyro/adxrs450_core.c

index a1a71b7bcad3ca9ce4e44b46ba6cb86c99cda0a5..c02e3ef40a0fc6f02ac1010a691a2f206409243d 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2011 Analog Devices Inc.
  *
- * Licensed under the GPL-2 or later.
+ * Licensed under the GPL-2.
  */
 
 #include <linux/interrupt.h>
@@ -69,7 +69,7 @@ static int adxrs450_spi_read_reg_16(struct device *dev,
                goto error_ret;
        }
 
-       *val = (st->rx[1] & 0x1f) << 11 | st->rx[2] << 3 | (st->rx[3] & 0xe0) >> 5;
+       *val = (be32_to_cpu(*(u32 *)st->rx) >> 5) & 0xFFFF;
 
 error_ret:
        mutex_unlock(&st->buf_lock);
@@ -152,7 +152,8 @@ static int adxrs450_spi_sensor_data(struct device *dev, u16 *val)
                goto error_ret;
        }
 
-       *val = (st->rx[0] & 0x03) << 14 | st->rx[1] << 6 | (st->rx[2] & 0xfc) >> 2;
+       *val = (be32_to_cpu(*(u32 *)st->rx) >> 10) & 0xFFFF;
+
 error_ret:
        mutex_unlock(&st->buf_lock);
        return ret;