]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/staging/iio/accel/adis16240_ring.c
staging:iio:accel:adis16240 move to chan_spec based setup.
[karo-tx-linux.git] / drivers / staging / iio / accel / adis16240_ring.c
index a6d27d2139211e9580e2c5896c207ac2b23b5e97..bddd6990b3dbdbf713790d21bf8d720d625df9f8 100644 (file)
 #include "../trigger.h"
 #include "adis16240.h"
 
-static IIO_SCAN_EL_C(in_supply, ADIS16240_SCAN_SUPPLY,
-               ADIS16240_SUPPLY_OUT, NULL);
-static IIO_CONST_ATTR_SCAN_EL_TYPE(in_supply, u, 10, 16);
-static IIO_SCAN_EL_C(accel_x, ADIS16240_SCAN_ACC_X, ADIS16240_XACCL_OUT, NULL);
-static IIO_SCAN_EL_C(accel_y, ADIS16240_SCAN_ACC_Y, ADIS16240_YACCL_OUT, NULL);
-static IIO_SCAN_EL_C(accel_z, ADIS16240_SCAN_ACC_Z, ADIS16240_ZACCL_OUT, NULL);
-static IIO_CONST_ATTR_SCAN_EL_TYPE(accel, s, 10, 16);
-static IIO_SCAN_EL_C(in0, ADIS16240_SCAN_AUX_ADC, ADIS16240_AUX_ADC, NULL);
-static IIO_CONST_ATTR_SCAN_EL_TYPE(in0, u, 10, 16);
-static IIO_SCAN_EL_C(temp, ADIS16240_SCAN_TEMP, ADIS16240_TEMP_OUT, NULL);
-static IIO_CONST_ATTR_SCAN_EL_TYPE(temp, u, 10, 16);
-static IIO_SCAN_EL_TIMESTAMP(6);
-static IIO_CONST_ATTR_SCAN_EL_TYPE(timestamp, s, 64, 64);
-
-static struct attribute *adis16240_scan_el_attrs[] = {
-       &iio_scan_el_in_supply.dev_attr.attr,
-       &iio_const_attr_in_supply_index.dev_attr.attr,
-       &iio_const_attr_in_supply_type.dev_attr.attr,
-       &iio_scan_el_accel_x.dev_attr.attr,
-       &iio_const_attr_accel_x_index.dev_attr.attr,
-       &iio_scan_el_accel_y.dev_attr.attr,
-       &iio_const_attr_accel_y_index.dev_attr.attr,
-       &iio_scan_el_accel_z.dev_attr.attr,
-       &iio_const_attr_accel_z_index.dev_attr.attr,
-       &iio_const_attr_accel_type.dev_attr.attr,
-       &iio_scan_el_in0.dev_attr.attr,
-       &iio_const_attr_in0_index.dev_attr.attr,
-       &iio_const_attr_in0_type.dev_attr.attr,
-       &iio_scan_el_temp.dev_attr.attr,
-       &iio_const_attr_temp_index.dev_attr.attr,
-       &iio_const_attr_temp_type.dev_attr.attr,
-       &iio_scan_el_timestamp.dev_attr.attr,
-       &iio_const_attr_timestamp_index.dev_attr.attr,
-       &iio_const_attr_timestamp_type.dev_attr.attr,
-       NULL,
-};
-
-static struct attribute_group adis16240_scan_el_group = {
-       .attrs = adis16240_scan_el_attrs,
-       .name = "scan_elements",
-};
-
 /**
  * adis16240_read_ring_data() read data registers which will be placed into ring
  * @dev: device associated with child of actual device (iio_dev or iio_trig)
@@ -156,7 +114,6 @@ int adis16240_configure_ring(struct iio_dev *indio_dev)
        /* Effectively select the ring buffer implementation */
        iio_ring_sw_register_funcs(&ring->access);
        ring->bpe = 2;
-       ring->scan_el_attrs = &adis16240_scan_el_group;
        ring->scan_timestamp = true;
        ring->preenable = &iio_sw_ring_preenable;
        ring->postenable = &iio_triggered_ring_postenable;
@@ -164,12 +121,12 @@ int adis16240_configure_ring(struct iio_dev *indio_dev)
        ring->owner = THIS_MODULE;
 
        /* Set default scan mode */
-       iio_scan_mask_set(ring, iio_scan_el_in_supply.number);
-       iio_scan_mask_set(ring, iio_scan_el_accel_x.number);
-       iio_scan_mask_set(ring, iio_scan_el_accel_y.number);
-       iio_scan_mask_set(ring, iio_scan_el_accel_z.number);
-       iio_scan_mask_set(ring, iio_scan_el_temp.number);
-       iio_scan_mask_set(ring, iio_scan_el_in0.number);
+       iio_scan_mask_set(ring, ADIS16240_SCAN_SUPPLY);
+       iio_scan_mask_set(ring, ADIS16240_SCAN_ACC_X);
+       iio_scan_mask_set(ring, ADIS16240_SCAN_ACC_Y);
+       iio_scan_mask_set(ring, ADIS16240_SCAN_ACC_Z);
+       iio_scan_mask_set(ring, ADIS16240_SCAN_AUX_ADC);
+       iio_scan_mask_set(ring, ADIS16240_SCAN_TEMP);
 
        indio_dev->pollfunc = kzalloc(sizeof(*indio_dev->pollfunc), GFP_KERNEL);
        if (indio_dev->pollfunc == NULL) {