Diff
Modified: trunk/drivers/staging/iio/imu/Kconfig (8791 => 8792)
--- trunk/drivers/staging/iio/imu/Kconfig 2010-05-23 04:01:30 UTC (rev 8791)
+++ trunk/drivers/staging/iio/imu/Kconfig 2010-05-23 04:07:14 UTC (rev 8792)
@@ -25,6 +25,9 @@
config ADIS16400
tristate "Analog Devices ADIS16400/5 IMU SPI driver"
depends on SPI
+ select IIO_SW_RING
+ select IIO_RING_BUFFER
+ select IIO_TRIGGER
help
Say yes here to build support for Analog Devices adis16400/5 triaxial
inertial sensor with Magnetometer.
Modified: trunk/drivers/staging/iio/imu/adis16400_core.c (8791 => 8792)
--- trunk/drivers/staging/iio/imu/adis16400_core.c 2010-05-23 04:01:30 UTC (rev 8791)
+++ trunk/drivers/staging/iio/imu/adis16400_core.c 2010-05-23 04:07:14 UTC (rev 8792)
@@ -28,9 +28,9 @@
#include "../iio.h"
#include "../sysfs.h"
#include "../accel/accel.h"
+#include "../adc/adc.h"
#include "../gyro/gyro.h"
-#include "magnet.h"
-#include "volt.h"
+#include "../magnetometer/magnet.h"
#include "adis16400.h"
@@ -149,8 +149,9 @@
spi_message_add_tail(&xfers[1], &msg);
ret = spi_sync(st->us, &msg);
if (ret) {
- dev_err(&st->us->dev, "problem when reading 16 bit register 0x%02X",
- lower_reg_address);
+ dev_err(&st->us->dev,
+ "problem when reading 16 bit register 0x%02X",
+ lower_reg_address);
goto error_ret;
}
*val = (st->rx[0] << 8) | st->rx[1];
@@ -273,7 +274,6 @@
if (val & ADIS16400_ERROR_ACTIVE)
adis16400_check_status(dev);
-
val = ((s16)(val << shift) >> shift);
return sprintf(buf, "%d\n", val);
}
@@ -510,7 +510,7 @@
if (status & ADIS16400_DIAG_STAT_FLASH_CHK)
dev_err(dev, "Flash checksum error\n");
if (status & ADIS16400_DIAG_STAT_SELF_TEST)
- dev_err(dev, "Self test error \n");
+ dev_err(dev, "Self test error\n");
if (status & ADIS16400_DIAG_STAT_OVERFLOW)
dev_err(dev, "Sensor overrange\n");
if (status & ADIS16400_DIAG_STAT_SPI_FAIL)
@@ -597,9 +597,9 @@
adis16400_write_16bit,
ADIS16400_ZACCL_OFF);
-static IIO_DEV_ATTR_VOLT(supply, adis16400_read_14bit_signed,
+static IIO_DEV_ATTR_IN_NAMED_RAW(supply, adis16400_read_14bit_signed,
ADIS16400_SUPPLY_OUT);
-static IIO_CONST_ATTR(volt_supply_scale, "0.002418");
+static IIO_CONST_ATTR(in_supply_scale, "0.002418");
static IIO_DEV_ATTR_GYRO_X(adis16400_read_14bit_signed,
ADIS16400_XGYRO_OUT);
@@ -630,15 +630,15 @@
static IIO_CONST_ATTR(temp_offset, "198.16 K");
static IIO_CONST_ATTR(temp_scale, "0.14 K");
-static IIO_DEV_ATTR_VOLT(aux, adis16400_read_12bit_unsigned,
+static IIO_DEV_ATTR_IN_RAW(0, adis16400_read_12bit_unsigned,
ADIS16400_AUX_ADC);
-static IIO_CONST_ATTR(volt_aux_scale, "0.000806");
+static IIO_CONST_ATTR(in0_scale, "0.000806");
static IIO_DEV_ATTR_SAMP_FREQ(S_IWUSR | S_IRUGO,
adis16400_read_frequency,
adis16400_write_frequency);
-static IIO_DEV_ATTR_RESET(adis16400_write_reset);
+static IIO_DEVICE_ATTR(reset, S_IWUSR, NULL, adis16400_write_reset, 0);
static IIO_CONST_ATTR_AVAIL_SAMP_FREQ("409 546 819 1638");
@@ -656,15 +656,15 @@
&iio_dev_attr_accel_x_offset.dev_attr.attr,
&iio_dev_attr_accel_y_offset.dev_attr.attr,
&iio_dev_attr_accel_z_offset.dev_attr.attr,
- &iio_dev_attr_volt_supply.dev_attr.attr,
- &iio_const_attr_volt_supply_scale.dev_attr.attr,
+ &iio_dev_attr_in_supply_raw.dev_attr.attr,
+ &iio_const_attr_in_supply_scale.dev_attr.attr,
&iio_dev_attr_gyro_x.dev_attr.attr,
&iio_dev_attr_gyro_y.dev_attr.attr,
&iio_dev_attr_gyro_z.dev_attr.attr,
&iio_const_attr_gyro_scale.dev_attr.attr,
- &iio_dev_attr_accel_x.dev_attr.attr,
- &iio_dev_attr_accel_y.dev_attr.attr,
- &iio_dev_attr_accel_z.dev_attr.attr,
+ &iio_dev_attr_accel_x_raw.dev_attr.attr,
+ &iio_dev_attr_accel_y_raw.dev_attr.attr,
+ &iio_dev_attr_accel_z_raw.dev_attr.attr,
&iio_const_attr_accel_scale.dev_attr.attr,
&iio_dev_attr_magn_x.dev_attr.attr,
&iio_dev_attr_magn_y.dev_attr.attr,
@@ -673,8 +673,8 @@
&iio_dev_attr_temp.dev_attr.attr,
&iio_const_attr_temp_offset.dev_attr.attr,
&iio_const_attr_temp_scale.dev_attr.attr,
- &iio_dev_attr_volt_aux.dev_attr.attr,
- &iio_const_attr_volt_aux_scale.dev_attr.attr,
+ &iio_dev_attr_in0_raw.dev_attr.attr,
+ &iio_const_attr_in0_scale.dev_attr.attr,
&iio_dev_attr_sampling_frequency.dev_attr.attr,
&iio_const_attr_available_sampling_frequency.dev_attr.attr,
&iio_dev_attr_reset.dev_attr.attr,
Modified: trunk/drivers/staging/iio/imu/adis16400_ring.c (8791 => 8792)
--- trunk/drivers/staging/iio/imu/adis16400_ring.c 2010-05-23 04:01:30 UTC (rev 8791)
+++ trunk/drivers/staging/iio/imu/adis16400_ring.c 2010-05-23 04:07:14 UTC (rev 8792)
@@ -55,7 +55,7 @@
static IIO_SCAN_EL_C(adc_0, ADIS16400_SCAN_ADC_0, IIO_SIGNED(12),
ADIS16400_AUX_ADC, NULL);
-static IIO_SCAN_EL_TIMESTAMP;
+static IIO_SCAN_EL_TIMESTAMP(12);
static struct attribute *adis16400_scan_el_attrs[] = {
&iio_scan_el_supply.dev_attr.attr,
@@ -236,7 +236,7 @@
int adis16400_initialize_ring(struct iio_ring_buffer *ring)
{
- return iio_ring_buffer_register(ring);
+ return iio_ring_buffer_register(ring, 0);
}
void adis16400_uninitialize_ring(struct iio_ring_buffer *ring)
Deleted: trunk/drivers/staging/iio/imu/magnet.h (8791 => 8792)
--- trunk/drivers/staging/iio/imu/magnet.h 2010-05-23 04:01:30 UTC (rev 8791)
+++ trunk/drivers/staging/iio/imu/magnet.h 2010-05-23 04:07:14 UTC (rev 8792)
@@ -1,31 +0,0 @@
-
-#include "../sysfs.h"
-
-/* Magnetometer types of attribute */
-
-#define IIO_DEV_ATTR_MAGN_X_OFFSET(_mode, _show, _store, _addr) \
- IIO_DEVICE_ATTR(magn_x_offset, _mode, _show, _store, _addr)
-
-#define IIO_DEV_ATTR_MAGN_Y_OFFSET(_mode, _show, _store, _addr) \
- IIO_DEVICE_ATTR(magn_y_offset, _mode, _show, _store, _addr)
-
-#define IIO_DEV_ATTR_MAGN_Z_OFFSET(_mode, _show, _store, _addr) \
- IIO_DEVICE_ATTR(magn_z_offset, _mode, _show, _store, _addr)
-
-#define IIO_DEV_ATTR_MAGN_X_GAIN(_mode, _show, _store, _addr) \
- IIO_DEVICE_ATTR(magn_x_gain, _mode, _show, _store, _addr)
-
-#define IIO_DEV_ATTR_MAGN_Y_GAIN(_mode, _show, _store, _addr) \
- IIO_DEVICE_ATTR(magn_y_gain, _mode, _show, _store, _addr)
-
-#define IIO_DEV_ATTR_MAGN_Z_GAIN(_mode, _show, _store, _addr) \
- IIO_DEVICE_ATTR(magn_z_gain, _mode, _show, _store, _addr)
-
-#define IIO_DEV_ATTR_MAGN_X(_show, _addr) \
- IIO_DEVICE_ATTR(magn_x, S_IRUGO, _show, NULL, _addr)
-
-#define IIO_DEV_ATTR_MAGN_Y(_show, _addr) \
- IIO_DEVICE_ATTR(magn_y, S_IRUGO, _show, NULL, _addr)
-
-#define IIO_DEV_ATTR_MAGN_Z(_show, _addr) \
- IIO_DEVICE_ATTR(magn_z, S_IRUGO, _show, NULL, _addr)
Added: trunk/drivers/staging/iio/magnetometer/magnet.h (0 => 8792)
--- trunk/drivers/staging/iio/magnetometer/magnet.h (rev 0)
+++ trunk/drivers/staging/iio/magnetometer/magnet.h 2010-05-23 04:07:14 UTC (rev 8792)
@@ -0,0 +1,31 @@
+
+#include "../sysfs.h"
+
+/* Magnetometer types of attribute */
+
+#define IIO_DEV_ATTR_MAGN_X_OFFSET(_mode, _show, _store, _addr) \
+ IIO_DEVICE_ATTR(magn_x_offset, _mode, _show, _store, _addr)
+
+#define IIO_DEV_ATTR_MAGN_Y_OFFSET(_mode, _show, _store, _addr) \
+ IIO_DEVICE_ATTR(magn_y_offset, _mode, _show, _store, _addr)
+
+#define IIO_DEV_ATTR_MAGN_Z_OFFSET(_mode, _show, _store, _addr) \
+ IIO_DEVICE_ATTR(magn_z_offset, _mode, _show, _store, _addr)
+
+#define IIO_DEV_ATTR_MAGN_X_GAIN(_mode, _show, _store, _addr) \
+ IIO_DEVICE_ATTR(magn_x_gain, _mode, _show, _store, _addr)
+
+#define IIO_DEV_ATTR_MAGN_Y_GAIN(_mode, _show, _store, _addr) \
+ IIO_DEVICE_ATTR(magn_y_gain, _mode, _show, _store, _addr)
+
+#define IIO_DEV_ATTR_MAGN_Z_GAIN(_mode, _show, _store, _addr) \
+ IIO_DEVICE_ATTR(magn_z_gain, _mode, _show, _store, _addr)
+
+#define IIO_DEV_ATTR_MAGN_X(_show, _addr) \
+ IIO_DEVICE_ATTR(magn_x, S_IRUGO, _show, NULL, _addr)
+
+#define IIO_DEV_ATTR_MAGN_Y(_show, _addr) \
+ IIO_DEVICE_ATTR(magn_y, S_IRUGO, _show, NULL, _addr)
+
+#define IIO_DEV_ATTR_MAGN_Z(_show, _addr) \
+ IIO_DEVICE_ATTR(magn_z, S_IRUGO, _show, NULL, _addr)